{
  "openapi": "3.0.0",
  "info": {
    "title": "CRM Gesvision API",
    "description": "Especificación OpenAPI de la API CRM Gesvision. Documentación: https://docs.crm.gesvision.com/",
    "contact": {
      "name": "CRM Gesvision Support",
      "email": "support@gesvision.com"
    },
    "license": {
      "name": "CC0-1.0",
      "url": "https://creativecommons.org/publicdomain/zero/1.0/"
    },
    "version": "v3"
  },
  "servers": [
    {
      "url": "https://api.crm.gesvision.com",
      "description": "Producción"
    }
  ],
  "paths": {
    "/ad-publishing/facebook/reporting": {
      "get": {
        "operationId": "fb-get-reporting",
        "summary": "Get reporting data",
        "description": "Retrieve aggregated Facebook ad reporting metrics for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "fRMewNQIxSyZ5R4nQyit",
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": true,
            "in": "query",
            "description": "Reporting fields. Pass as comma-separated values on the wire (e.g. ?fields=impressions,clicks).",
            "schema": {
              "example": [
                "impressions",
                "clicks",
                "spend"
              ],
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "impressions",
                  "clicks",
                  "spend",
                  "cpc",
                  "cost_per_conversion",
                  "conversions",
                  "cpm",
                  "reach",
                  "frequency",
                  "ctr"
                ]
              }
            }
          },
          {
            "name": "groupBy",
            "required": true,
            "in": "query",
            "description": "Time grouping interval",
            "schema": {
              "example": "month",
              "enum": [
                "day",
                "week",
                "month"
              ],
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Report start date",
            "schema": {
              "example": "2022-01-11",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "Report end date",
            "schema": {
              "example": "2022-01-31",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Integration source type",
            "schema": {
              "example": "AD_MANAGER or INTEGRATION",
              "enum": [
                "AD_MANAGER",
                "INTEGRATION"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Reporting"
        ]
      }
    },
    "/ad-publishing/facebook/reporting/campaign/{campaignId}": {
      "get": {
        "operationId": "fb-get-campaign-reporting",
        "summary": "Get campaign reporting",
        "description": "Retrieve reporting metrics for a specific Facebook campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "120208142050850608",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "fRMewNQIxSyZ5R4nQyit",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Report start date",
            "schema": {
              "example": "2022-01-11",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "Report end date",
            "schema": {
              "example": "2022-01-31",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Reporting"
        ]
      }
    },
    "/ad-publishing/facebook/reporting/list": {
      "get": {
        "operationId": "fb-get-reporting-list",
        "summary": "Get reporting list",
        "description": "Retrieve a list of Facebook campaigns, adsets, or ads with reporting data",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "fRMewNQIxSyZ5R4nQyit",
              "type": "string"
            }
          },
          {
            "name": "listType",
            "required": true,
            "in": "query",
            "description": "Reporting list type",
            "schema": {
              "example": "campaigns",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Report start date",
            "schema": {
              "example": "2022-01-11",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "Report end date",
            "schema": {
              "example": "2022-01-31",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign identifier (required when listType is adsets or ads)",
            "schema": {
              "example": "196684453527082",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Integration source type",
            "schema": {
              "example": "INTEGRATION",
              "enum": [
                "AD_MANAGER",
                "INTEGRATION"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Reporting"
        ]
      }
    },
    "/ad-publishing/facebook/me": {
      "get": {
        "operationId": "fb-get-current-user",
        "summary": "Get current Facebook user",
        "description": "Retrieve the authenticated Facebook user profile for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/pages": {
      "get": {
        "operationId": "fb-get-pages",
        "summary": "Get Facebook pages",
        "description": "Retrieve Facebook pages associated with the connected account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "fetchExisting",
            "required": false,
            "in": "query",
            "description": "Fetch existing pages flag",
            "schema": {
              "example": "true",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/page/{pageId}/instagram": {
      "get": {
        "operationId": "fb-get-instagram-accounts",
        "summary": "Get Instagram accounts for page",
        "description": "Retrieve Instagram accounts linked to a specific Facebook page",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "pageId",
            "required": true,
            "in": "path",
            "description": "Facebook page identifier",
            "schema": {
              "example": "103456789012345",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Integration type",
            "schema": {
              "example": "INTEGRATION",
              "enum": [
                "INTEGRATION",
                "AD_MANAGER"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/page/{pageId}/forms": {
      "get": {
        "operationId": "fb-get-page-lead-forms",
        "summary": "Get page lead forms",
        "description": "Retrieve lead gen forms for a specific Facebook page",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "pageId",
            "required": true,
            "in": "path",
            "description": "Facebook page identifier",
            "schema": {
              "example": "103456789012345",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      },
      "post": {
        "operationId": "fb-create-page-lead-form",
        "summary": "Create page lead form",
        "description": "Create a new lead gen form on a Facebook page",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "pageId",
            "required": true,
            "in": "path",
            "description": "Facebook page identifier",
            "schema": {
              "example": "103456789012345",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CreateLeadFormDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/ad-accounts": {
      "get": {
        "operationId": "fb-get-ad-accounts",
        "summary": "Get ad accounts",
        "description": "Retrieve Facebook ad accounts available for the connected user",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Account source type",
            "schema": {
              "example": "AD_MANAGER",
              "type": "string"
            }
          },
          {
            "name": "next",
            "required": false,
            "in": "query",
            "description": "Pagination cursor",
            "schema": {
              "example": "cursor_abc",
              "type": "string"
            }
          },
          {
            "name": "fetchAll",
            "required": false,
            "in": "query",
            "description": "Fetch all accounts",
            "schema": {
              "example": "true",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Results page limit",
            "schema": {
              "example": "25",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/ad-accounts/{adAccountId}": {
      "get": {
        "operationId": "fb-get-ad-account",
        "summary": "Get ad account details",
        "description": "Retrieve details of a specific Facebook ad account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "path",
            "description": "Ad account identifier",
            "schema": {
              "example": "act_123456789",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      },
      "delete": {
        "operationId": "fb-delete-ad-account",
        "summary": "Delete ad account",
        "description": "Remove a Facebook ad account connection from a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "path",
            "description": "Ad account identifier",
            "schema": {
              "example": "act_123456789",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/conversation-forms": {
      "get": {
        "operationId": "fb-get-conversation-forms",
        "summary": "Get conversation forms",
        "description": "Retrieve Facebook conversation lead forms for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      },
      "post": {
        "operationId": "fb-create-conversation-form",
        "summary": "Create conversation form",
        "description": "Create a new Facebook conversation lead form",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CreateConversationFormDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/integration": {
      "post": {
        "operationId": "fb-create-integration",
        "summary": "Create Facebook integration",
        "description": "Create a Facebook ad integration for a location with page and ad account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CreateIntegrationDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      },
      "get": {
        "operationId": "fb-get-integration",
        "summary": "Get Facebook integration",
        "description": "Retrieve the Facebook ad integration details for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      },
      "delete": {
        "operationId": "fb-delete-integration",
        "summary": "Delete Facebook integration",
        "description": "Remove the Facebook ad integration from a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/targeting/search": {
      "get": {
        "operationId": "fb-search-targeting",
        "summary": "Search targeting options",
        "description": "Search Facebook geo-locations and interests for ad targeting",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Targeting search type",
            "schema": {
              "example": "interest",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": true,
            "in": "query",
            "description": "Search query string",
            "schema": {
              "example": "fitness",
              "type": "string"
            }
          },
          {
            "name": "searchType",
            "required": false,
            "in": "query",
            "description": "Specific search subtype",
            "schema": {
              "example": "adgeolocation",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns/{campaignId}/publish": {
      "post": {
        "operationId": "fb-publish-campaign",
        "summary": "Publish campaign",
        "description": "Publish a Facebook campaign and push it live to Facebook",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "120208142050850608",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_PublishAdDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/page": {
      "delete": {
        "operationId": "fb-delete-page",
        "summary": "Delete page connection",
        "description": "Remove a Facebook page connection from a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "pageId",
            "required": true,
            "in": "query",
            "description": "Facebook page ID",
            "schema": {
              "example": "123456789",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/pixels": {
      "get": {
        "operationId": "fb-get-pixels",
        "summary": "Get conversion pixels",
        "description": "Retrieve Facebook conversion pixels for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "channel",
            "required": false,
            "in": "query",
            "description": "Channel type",
            "schema": {
              "example": "FACEBOOK",
              "type": "string"
            }
          },
          {
            "name": "pageId",
            "required": false,
            "in": "query",
            "description": "Facebook page ID",
            "schema": {
              "example": "123456789",
              "type": "string"
            }
          },
          {
            "name": "igUserId",
            "required": false,
            "in": "query",
            "description": "Instagram user ID",
            "schema": {
              "example": "ig_user_123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      },
      "put": {
        "operationId": "fb-upsert-pixel",
        "summary": "Upsert conversion pixel",
        "description": "Create or update a Facebook conversion pixel configuration",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertConversionPixelDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/custom-audience": {
      "get": {
        "operationId": "fb-get-custom-audiences",
        "summary": "Get custom audiences",
        "description": "Retrieve Facebook custom audiences for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Audience list type",
            "schema": {
              "example": "custom",
              "enum": [
                "lookalike",
                "custom",
                "all"
              ],
              "type": "string"
            }
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "description": "Audience data source",
            "schema": {
              "example": "ad_manager",
              "enum": [
                "ad_manager",
                "integration"
              ],
              "type": "string"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "query",
            "description": "Ad account identifier",
            "schema": {
              "example": "act_123456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/custom-audience/{audienceId}": {
      "delete": {
        "operationId": "fb-delete-custom-audience",
        "summary": "Delete custom audience",
        "description": "Delete a Facebook custom audience by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Custom audience identifier",
            "schema": {
              "example": "23851234567890123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      },
      "put": {
        "operationId": "fb-update-custom-audience",
        "summary": "Update custom audience",
        "description": "Update name or description of a Facebook custom audience",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Custom audience identifier",
            "schema": {
              "example": "23851234567890123",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_FbUpdateAudienceBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      },
      "get": {
        "operationId": "fb-get-custom-audience-by-id",
        "summary": "Get custom audience by ID",
        "description": "Retrieve a specific Facebook custom audience by its ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Custom audience identifier",
            "schema": {
              "example": "23851234567890123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/custom-audience/{audienceId}/member": {
      "put": {
        "operationId": "fb-add-custom-audience-member",
        "summary": "Add custom audience member",
        "description": "Add a member to a Facebook custom audience",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Custom audience identifier",
            "schema": {
              "example": "23851234567890123",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpdateCustomAudienceDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      },
      "delete": {
        "operationId": "fb-remove-custom-audience-member",
        "summary": "Remove custom audience member",
        "description": "Remove a member from a Facebook custom audience",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Custom audience identifier",
            "schema": {
              "example": "23851234567890123",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpdateCustomAudienceDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/custom-audience/{audienceId}/member/batch": {
      "put": {
        "operationId": "fb-batch-update-audience-members",
        "summary": "Batch update audience members",
        "description": "Add or remove members in bulk from a Facebook custom audience via CSV or smart lists",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Custom audience identifier",
            "schema": {
              "example": "23851234567890123",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpdateCustomAudienceBatchDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/page/default": {
      "put": {
        "operationId": "fb-set-default-page",
        "summary": "Set default page",
        "description": "Set the default Facebook page for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_FbSetDefaultPageBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/lead-form/{leadFormId}": {
      "get": {
        "operationId": "fb-get-lead-form",
        "summary": "Get lead form by ID",
        "description": "Retrieve a specific Facebook lead form by its ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "leadFormId",
            "required": true,
            "in": "path",
            "description": "Lead form identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Integration"
        ]
      }
    },
    "/ad-publishing/facebook/campaign/{campaignId}": {
      "get": {
        "operationId": "fb-get-campaign",
        "summary": "Get campaign with linked entities",
        "description": "Retrieve a Facebook campaign with its linked adsets and ads",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "120208142050850608",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Comma-separated field names",
            "schema": {
              "example": "adsets,ads",
              "type": "string"
            }
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "description": "Campaign data source",
            "schema": {
              "example": "facebook",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/entity": {
      "get": {
        "operationId": "fb-get-entity",
        "summary": "Get entities",
        "description": "Retrieve Facebook campaigns, adsets, or ads based on entity type",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Integration source type",
            "schema": {
              "example": "AD_MANAGER",
              "enum": [
                "AD_MANAGER",
                "INTEGRATION"
              ],
              "type": "string"
            }
          },
          {
            "name": "next",
            "required": false,
            "in": "query",
            "description": "Pagination cursor",
            "schema": {
              "example": "cursor_abc",
              "type": "string"
            }
          },
          {
            "name": "fetchAll",
            "required": false,
            "in": "query",
            "description": "Fetch all entities",
            "schema": {
              "example": "true",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign identifier",
            "schema": {
              "example": "camp_123",
              "type": "string"
            }
          },
          {
            "name": "adSetId",
            "required": false,
            "in": "query",
            "description": "Ad set identifier",
            "schema": {
              "example": "adset_123",
              "type": "string"
            }
          },
          {
            "name": "entityType",
            "required": true,
            "in": "query",
            "description": "Entity type to fetch",
            "schema": {
              "example": "CAMPAIGN",
              "enum": [
                "CAMPAIGN",
                "ADSET",
                "AD"
              ],
              "type": "string"
            }
          },
          {
            "name": "searchId",
            "required": false,
            "in": "query",
            "description": "Search identifier",
            "schema": {
              "example": "search_123",
              "type": "string"
            }
          },
          {
            "name": "selectedAdAccountId",
            "required": false,
            "in": "query",
            "description": "Selected ad account ID",
            "schema": {
              "example": "act_123456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns": {
      "put": {
        "operationId": "fb-upsert-campaign",
        "summary": "Upsert campaign",
        "description": "Create or update a Facebook campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertCampaignDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets": {
      "put": {
        "operationId": "fb-upsert-adset",
        "summary": "Upsert adset",
        "description": "Create or update a Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertAdsetDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/ads-v2": {
      "put": {
        "operationId": "fb-upsert-ad",
        "summary": "Upsert ad",
        "description": "Create or update a Facebook ad (v2)",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_manager_UpsertAdDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns/{campaignId}/pause": {
      "post": {
        "operationId": "fb-pause-campaign",
        "summary": "Pause campaign",
        "description": "Pause a running Facebook campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns/{campaignId}/resume": {
      "post": {
        "operationId": "fb-resume-campaign",
        "summary": "Resume campaign",
        "description": "Resume a paused Facebook campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns/{campaignId}/duplicate": {
      "post": {
        "operationId": "fb-duplicate-campaign",
        "summary": "Duplicate campaign",
        "description": "Duplicate an existing Facebook campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns/{campaignId}": {
      "delete": {
        "operationId": "fb-delete-campaign",
        "summary": "Delete campaign",
        "description": "Delete a Facebook campaign by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adsetId}/pause": {
      "post": {
        "operationId": "fb-pause-adset",
        "summary": "Pause ad set",
        "description": "Pause a running Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adsetId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_manager_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adsetId}/resume": {
      "post": {
        "operationId": "fb-resume-adset",
        "summary": "Resume ad set",
        "description": "Resume a paused Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adsetId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_manager_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adsetId}/duplicate": {
      "post": {
        "operationId": "fb-duplicate-adset",
        "summary": "Duplicate ad set",
        "description": "Duplicate an existing Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adsetId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adsetId}": {
      "delete": {
        "operationId": "fb-delete-adset",
        "summary": "Delete ad set",
        "description": "Delete a Facebook ad set by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adsetId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_manager_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/ads/{adId}/pause": {
      "post": {
        "operationId": "fb-pause-ad",
        "summary": "Pause ad",
        "description": "Pause a running Facebook ad",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439013",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/ads/{adId}/resume": {
      "post": {
        "operationId": "fb-resume-ad",
        "summary": "Resume ad",
        "description": "Resume a paused Facebook ad",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439013",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/ads/{adId}/duplicate": {
      "post": {
        "operationId": "fb-duplicate-ad",
        "summary": "Duplicate ad",
        "description": "Duplicate an existing Facebook ad",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439013",
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/ads/{adId}": {
      "delete": {
        "operationId": "fb-delete-ad",
        "summary": "Delete ad",
        "description": "Delete a Facebook ad by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439013",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/google/reporting": {
      "get": {
        "operationId": "google-get-reporting",
        "summary": "Get reporting data",
        "description": "Retrieve aggregated Google Ads reporting metrics for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "fRMewNQIxSyZ5R4nQyit",
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": true,
            "in": "query",
            "description": "Reporting fields. Pass as comma-separated values on the wire (e.g. ?fields=impressions,clicks).",
            "schema": {
              "example": [
                "impressions",
                "clicks",
                "cost_micros"
              ],
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "impressions",
                  "clicks",
                  "cost_micros",
                  "average_cpc",
                  "conversions",
                  "average_cpm",
                  "cost_per_conversion",
                  "ctr"
                ]
              }
            }
          },
          {
            "name": "groupBy",
            "required": false,
            "in": "query",
            "description": "Group by period",
            "schema": {
              "example": "month",
              "enum": [
                "date",
                "week",
                "month"
              ],
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Report start date",
            "schema": {
              "example": "2022-01-11",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "Report end date",
            "schema": {
              "example": "2022-01-31",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Integration type",
            "schema": {
              "example": "AD_MANAGER or INTEGRATION",
              "enum": [
                "AD_MANAGER",
                "INTEGRATION"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Reporting"
        ]
      }
    },
    "/ad-publishing/google/reporting/list": {
      "get": {
        "operationId": "google-get-reporting-list",
        "summary": "Get reporting list",
        "description": "Retrieve a list of Google campaigns or ad groups with reporting data",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "fRMewNQIxSyZ5R4nQyit",
              "type": "string"
            }
          },
          {
            "name": "listType",
            "required": true,
            "in": "query",
            "description": "Report list type",
            "schema": {
              "example": "campaigns",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Report start date",
            "schema": {
              "example": "2022-01-11",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "Report end date",
            "schema": {
              "example": "2022-01-31",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign identifier (required when listType is adGroups, ads, or keywords)",
            "schema": {
              "example": "196684453527082",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Integration type",
            "schema": {
              "example": "INTEGRATION",
              "enum": [
                "AD_MANAGER",
                "INTEGRATION"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Reporting"
        ]
      }
    },
    "/ad-publishing/google/reporting/campaign/{campaignId}": {
      "get": {
        "operationId": "google-get-campaign-reporting",
        "summary": "Get campaign reporting",
        "description": "Retrieve reporting metrics for a specific Google campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "camp_abc123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "fRMewNQIxSyZ5R4nQyit",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Report start date",
            "schema": {
              "example": "2022-01-11",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "Report end date",
            "schema": {
              "example": "2022-01-31",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Reporting"
        ]
      }
    },
    "/ad-publishing/google/conversions": {
      "get": {
        "operationId": "google-get-conversions",
        "summary": "Get conversions",
        "description": "Retrieve Google Ads conversion actions for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Integration type",
            "schema": {
              "example": "AD_MANAGER",
              "enum": [
                "AD_MANAGER",
                "AD_WORDS"
              ],
              "type": "string"
            }
          },
          {
            "name": "conversionType",
            "required": false,
            "in": "query",
            "description": "Conversion type",
            "schema": {
              "example": "WEBPAGE",
              "type": "string"
            }
          },
          {
            "name": "category",
            "required": false,
            "in": "query",
            "description": "Conversion category",
            "schema": {
              "example": "PURCHASE",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "Filter start date",
            "schema": {
              "example": "2024-01-01",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "Filter end date",
            "schema": {
              "example": "2024-12-31",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      },
      "put": {
        "operationId": "google-upsert-conversion",
        "summary": "Upsert conversion",
        "description": "Create or update a Google Ads conversion action",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertConversionDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/conversions/{conversionId}": {
      "get": {
        "operationId": "google-get-conversion-by-id",
        "summary": "Get conversion by ID",
        "description": "Retrieve a specific Google Ads conversion action by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "conversionId",
            "required": true,
            "in": "path",
            "description": "Conversion identifier",
            "schema": {
              "example": "conv_abc123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      },
      "delete": {
        "operationId": "google-delete-conversion",
        "summary": "Delete conversion",
        "description": "Delete a Google Ads conversion action by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "conversionId",
            "required": true,
            "in": "path",
            "description": "Conversion identifier",
            "schema": {
              "example": "conv_abc123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/integration": {
      "get": {
        "operationId": "google-get-integration",
        "summary": "Get Google integration",
        "description": "Retrieve the Google Ads integration details for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Integration"
        ]
      },
      "post": {
        "operationId": "google-create-integration",
        "summary": "Create Google integration",
        "description": "Create a Google Ads integration for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CreateGoogleIntegrationDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Integration"
        ]
      }
    },
    "/ad-publishing/google/me": {
      "get": {
        "operationId": "google-get-current-user",
        "summary": "Get current Google user",
        "description": "Retrieve the authenticated Google user info for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Integration"
        ]
      }
    },
    "/ad-publishing/google/ad-accounts": {
      "get": {
        "operationId": "google-get-ad-accounts",
        "summary": "Get Google ad accounts",
        "description": "Retrieve Google Ads accounts available for the connected user",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Account type",
            "schema": {
              "example": "AD_MANAGER",
              "enum": [
                "INTEGRATION",
                "AD_MANAGER"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Integration"
        ]
      }
    },
    "/ad-publishing/google/ad-accounts/{adAccountId}": {
      "get": {
        "operationId": "google-get-ad-account-details",
        "summary": "Get ad account details",
        "description": "Retrieve details of a specific Google Ads account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "path",
            "description": "Ad account identifier",
            "schema": {
              "example": "act_abc123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Integration"
        ]
      },
      "delete": {
        "operationId": "google-delete-ad-account",
        "summary": "Delete ad account",
        "description": "Remove a Google Ads account connection from a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "path",
            "description": "Ad account identifier",
            "schema": {
              "example": "act_abc123",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Integration"
        ]
      }
    },
    "/ad-publishing/google/ads/{adId}/publish": {
      "post": {
        "operationId": "google-publish-ad",
        "summary": "Publish ad",
        "description": "Publish a Google ad and push it live",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/targeting/search": {
      "get": {
        "operationId": "google-search-targeting",
        "summary": "Search targeting options",
        "description": "Search Google geo-locations for ad targeting",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Search type",
            "schema": {
              "example": "geolocation",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search query",
            "schema": {
              "example": "New York",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/keyword-ideas": {
      "post": {
        "operationId": "google-get-keyword-ideas",
        "summary": "Get keyword ideas",
        "description": "Retrieve keyword suggestions for Google Ads campaigns",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_KeywordSuggestionDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/assets": {
      "get": {
        "operationId": "google-get-assets",
        "summary": "Get assets",
        "description": "Retrieve Google Ads creative assets for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Asset type to retrieve",
            "schema": {
              "example": "CALL",
              "enum": [
                "CALL",
                "SITELINK",
                "LEAD_FORM",
                "IMAGE",
                "TEXT"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": false,
            "in": "query",
            "description": "Asset identifier",
            "schema": {
              "example": "asset_123",
              "type": "string"
            }
          },
          {
            "name": "advertiserOnly",
            "required": false,
            "in": "query",
            "description": "Advertiser only flag",
            "schema": {
              "example": "true",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      },
      "post": {
        "operationId": "google-upsert-assets",
        "summary": "Upsert assets",
        "description": "Create or update Google Ads creative assets",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertAssetsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/entity": {
      "get": {
        "operationId": "google-get-entity",
        "summary": "Get entities",
        "description": "Retrieve Google campaigns, ad groups, or ads based on entity type",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Integration type",
            "schema": {
              "example": "AD_MANAGER",
              "enum": [
                "AD_MANAGER",
                "INTEGRATION"
              ],
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign identifier",
            "schema": {
              "example": "camp_123",
              "type": "string"
            }
          },
          {
            "name": "adGroupId",
            "required": false,
            "in": "query",
            "description": "Ad group identifier",
            "schema": {
              "example": "ag_123",
              "type": "string"
            }
          },
          {
            "name": "entityType",
            "required": true,
            "in": "query",
            "description": "Entity type",
            "schema": {
              "example": "CAMPAIGN",
              "enum": [
                "CAMPAIGN",
                "ADGROUP",
                "AD"
              ],
              "type": "string"
            }
          },
          {
            "name": "searchId",
            "required": false,
            "in": "query",
            "description": "Search identifier",
            "schema": {
              "example": "search_123",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "Filter start date",
            "schema": {
              "example": "2024-01-01",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "Filter end date",
            "schema": {
              "example": "2024-12-31",
              "type": "string"
            }
          },
          {
            "name": "selectedAdAccountId",
            "required": false,
            "in": "query",
            "description": "Selected ad account ID",
            "schema": {
              "example": "123-456-7890",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/target-interests": {
      "get": {
        "operationId": "google-get-target-interests",
        "summary": "Get target interests",
        "description": "Retrieve affinity and in-market audience options for Google Ads targeting",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Interest type",
            "schema": {
              "example": "AFFINITY",
              "enum": [
                "AFFINITY",
                "IN_MARKET"
              ],
              "type": "string"
            }
          },
          {
            "name": "advertisingChannelType",
            "required": true,
            "in": "query",
            "description": "Channel type",
            "schema": {
              "example": "SEARCH",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/segments": {
      "get": {
        "operationId": "google-get-segments",
        "summary": "Get segments",
        "description": "Retrieve Google Ads audience segments for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Segment type",
            "schema": {
              "example": "CUSTOM_SEGMENTS",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      },
      "put": {
        "operationId": "google-upsert-segment",
        "summary": "Upsert segment",
        "description": "Create or update a Google Ads audience segment",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Segment type",
            "schema": {
              "example": "CUSTOM_SEGMENTS",
              "enum": [
                "CUSTOM_SEGMENTS",
                "WEBSITE_VISITOR",
                "CUSTOMER_MATCH",
                "LOOKALIKE"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertSegmentDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/segments/{segmentId}": {
      "delete": {
        "operationId": "google-delete-segment",
        "summary": "Delete segment",
        "description": "Delete a Google Ads audience segment by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "segmentId",
            "required": true,
            "in": "path",
            "description": "Segment identifier",
            "schema": {
              "example": "seg_abc123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Segment type",
            "schema": {
              "example": "CUSTOM_SEGMENTS",
              "enum": [
                "CUSTOM_SEGMENTS",
                "DATA_SEGMENTS"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      },
      "get": {
        "operationId": "google-get-segment-by-id",
        "summary": "Get segment by ID",
        "description": "Retrieve a specific Google Ads audience segment by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "segmentId",
            "required": true,
            "in": "path",
            "description": "Segment identifier",
            "schema": {
              "example": "seg_abc123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Segment type",
            "schema": {
              "example": "CUSTOM_SEGMENTS",
              "enum": [
                "CUSTOM_SEGMENTS",
                "DATA_SEGMENTS"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/segments/offline-user-list-job": {
      "post": {
        "operationId": "google-create-offline-user-list-job",
        "summary": "Create offline user list job",
        "description": "Create a job to upload users to a Google customer match list",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CreateOfflineUserListJobDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/audiences": {
      "put": {
        "operationId": "google-upsert-audience",
        "summary": "Upsert audience",
        "description": "Create or update a Google Ads combined audience",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertAudienceDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      },
      "get": {
        "operationId": "google-get-audiences",
        "summary": "Get audiences",
        "description": "Retrieve Google Ads combined audiences for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/audiences/{audienceId}": {
      "get": {
        "operationId": "google-get-audience-by-id",
        "summary": "Get audience by ID",
        "description": "Retrieve a specific Google Ads combined audience by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "audienceId",
            "required": true,
            "in": "path",
            "description": "Audience identifier",
            "schema": {
              "example": "aud_abc123",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/ads": {
      "put": {
        "operationId": "google-upsert-campaign",
        "summary": "Upsert Google campaign",
        "description": "Create or update a full Google Ads campaign structure",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CampaignDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/ads/{adId}": {
      "get": {
        "operationId": "google-get-campaign-by-id",
        "summary": "Get Google campaign by ID",
        "description": "Retrieve a specific Google Ads campaign by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/google/conversion-goals": {
      "get": {
        "operationId": "google-get-conversion-goals",
        "summary": "Get conversion goals",
        "description": "Retrieve Google Ads conversion goals for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Google Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/integration": {
      "get": {
        "operationId": "li-get-integration",
        "summary": "Get LinkedIn integration",
        "description": "Retrieve the LinkedIn Ads integration details for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Integration"
        ]
      },
      "post": {
        "operationId": "li-create-integration",
        "summary": "Create LinkedIn integration",
        "description": "Create a LinkedIn Ads integration for a location with ad account details",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_CreateLinkedinIntegrationDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "LinkedIn Integration"
        ]
      }
    },
    "/ad-publishing/linkedin/ad-accounts": {
      "get": {
        "operationId": "li-get-ad-accounts",
        "summary": "Get LinkedIn ad accounts",
        "description": "Retrieve LinkedIn Ads accounts available for the connected user",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Integration"
        ]
      }
    },
    "/ad-publishing/linkedin/ad-account": {
      "get": {
        "operationId": "li-get-ad-account-details",
        "summary": "Get ad account details",
        "description": "Retrieve details of a specific LinkedIn ad account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "query",
            "description": "Ad account identifier",
            "schema": {
              "example": "12345678",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Integration"
        ]
      },
      "delete": {
        "operationId": "li-delete-ad-account",
        "summary": "Delete ad account",
        "description": "Remove a LinkedIn ad account connection from a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "adAccountId",
            "required": true,
            "in": "query",
            "description": "Ad account identifier",
            "schema": {
              "example": "12345678",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "LinkedIn Integration"
        ]
      }
    },
    "/ad-publishing/linkedin/me": {
      "get": {
        "operationId": "li-get-current-user",
        "summary": "Get current LinkedIn user",
        "description": "Retrieve the authenticated LinkedIn user info for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Integration"
        ]
      }
    },
    "/ad-publishing/linkedin/ads/{adId}": {
      "get": {
        "operationId": "li-get-campaign-group",
        "summary": "Get ad campaign group",
        "description": "Retrieve a LinkedIn ad campaign group by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/ads/{adId}/publish": {
      "post": {
        "operationId": "li-publish-campaign-group",
        "summary": "Publish ad campaign group",
        "description": "Publish a LinkedIn ad campaign group and push it live",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/ads": {
      "put": {
        "operationId": "li-upsert-campaign-group",
        "summary": "Upsert ad campaign group",
        "description": "Create or update a LinkedIn ad campaign group with campaigns and ads",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_AdCampaignGroupDataDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/targeting/search": {
      "get": {
        "operationId": "li-search-targeting",
        "summary": "Search targeting options",
        "description": "Search LinkedIn targeting facets such as locations, industries, and job titles",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "facet",
            "required": true,
            "in": "query",
            "description": "Targeting facet",
            "schema": {
              "example": "locations",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search query",
            "schema": {
              "example": "software",
              "type": "string"
            }
          },
          {
            "name": "q",
            "required": false,
            "in": "query",
            "description": "Query parameter",
            "schema": {
              "example": "typeahead",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/{accountId}/forms": {
      "get": {
        "operationId": "li-get-lead-forms",
        "summary": "Get lead forms",
        "description": "Retrieve LinkedIn lead gen forms for an ad account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account identifier",
            "schema": {
              "example": "12345678",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/{accountId}/form": {
      "post": {
        "operationId": "li-create-lead-form",
        "summary": "Create lead form",
        "description": "Create a new LinkedIn lead gen form for an ad account",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LinkedInCreateLeadFormBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/{adId}/status": {
      "patch": {
        "operationId": "li-update-ad-status",
        "summary": "Update ad status",
        "description": "Pause or resume a LinkedIn ad, campaign, or ad group",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adId",
            "required": true,
            "in": "path",
            "description": "Ad identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LinkedInUpdateAdStatusBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "LinkedIn Ads"
        ]
      }
    },
    "/ad-publishing/linkedin/reporting": {
      "get": {
        "operationId": "li-get-ad-analytics",
        "summary": "Get ad analytics",
        "description": "Retrieve LinkedIn Ads analytics data with configurable pivot and time grouping",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "pivot",
            "required": false,
            "in": "query",
            "description": "Analytics pivot type",
            "schema": {
              "default": "ACCOUNT",
              "example": "ACCOUNT",
              "enum": [
                "ACCOUNT",
                "CAMPAIGN",
                "CAMPAIGN_GROUP",
                "CREATIVE"
              ],
              "type": "string"
            }
          },
          {
            "name": "groupBy",
            "required": false,
            "in": "query",
            "description": "Time granularity for analytics",
            "schema": {
              "default": "day",
              "example": "day",
              "enum": [
                "day",
                "month",
                "year"
              ],
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Start date in yyyy-mm-dd format",
            "schema": {
              "example": "2024-01-01",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "End date in yyyy-mm-dd format",
            "schema": {
              "example": "2024-01-31",
              "type": "string"
            }
          },
          {
            "name": "entityUrns",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of entity URNs",
            "schema": {
              "example": "urn:li:sponsoredCampaign:123,urn:li:sponsoredCampaign:456",
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Reporting fields. Pass as comma-separated values on the wire (e.g. ?fields=impressions,clicks).",
            "schema": {
              "example": [
                "impressions",
                "clicks",
                "costInUsd"
              ],
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "clicks",
                  "oneClickLeads",
                  "costInLocalCurrency",
                  "impressions",
                  "costInUsd",
                  "ctr",
                  "cpc",
                  "cpm",
                  "cpl",
                  "externalWebsitePostClickConversions",
                  "conversionRate"
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Reporting"
        ]
      }
    },
    "/ad-publishing/linkedin/reporting/list": {
      "get": {
        "operationId": "li-get-reporting-list",
        "summary": "Get reporting list",
        "description": "Retrieve a list of LinkedIn campaigns or campaign groups with reporting data",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "listType",
            "required": true,
            "in": "query",
            "description": "List type",
            "schema": {
              "example": "campaigns",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "query",
            "description": "Campaign ID",
            "schema": {
              "example": "12345678",
              "type": "string"
            }
          },
          {
            "name": "campaignGroupId",
            "required": true,
            "in": "query",
            "description": "Campaign group ID",
            "schema": {
              "example": "87654321",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Start date in yyyy-mm-dd format",
            "schema": {
              "example": "2024-01-01",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "End date in yyyy-mm-dd format",
            "schema": {
              "example": "2024-01-31",
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Reporting fields. Pass as comma-separated values on the wire (e.g. ?fields=impressions,clicks).",
            "schema": {
              "example": [
                "impressions",
                "clicks"
              ],
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "clicks",
                  "oneClickLeads",
                  "costInLocalCurrency",
                  "impressions",
                  "costInUsd",
                  "ctr",
                  "cpc",
                  "cpm",
                  "cpl",
                  "externalWebsitePostClickConversions",
                  "conversionRate"
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Reporting"
        ]
      }
    },
    "/ad-publishing/linkedin/reporting/campaign-group/{campaignGroupId}": {
      "get": {
        "operationId": "li-get-campaign-group-reporting",
        "summary": "Get campaign group reporting",
        "description": "Retrieve reporting metrics for a specific LinkedIn campaign group",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "campaignGroupId",
            "required": true,
            "in": "path",
            "description": "Campaign group identifier",
            "schema": {
              "example": "12345678",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "loc_abc123",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Start date in yyyy-mm-dd format",
            "schema": {
              "example": "2024-01-01",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "End date in yyyy-mm-dd format",
            "schema": {
              "example": "2024-01-31",
              "type": "string"
            }
          },
          {
            "name": "fields",
            "required": false,
            "in": "query",
            "description": "Reporting fields. Pass as comma-separated values on the wire (e.g. ?fields=impressions,clicks).",
            "schema": {
              "example": [
                "impressions",
                "clicks"
              ],
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "clicks",
                  "oneClickLeads",
                  "costInLocalCurrency",
                  "impressions",
                  "costInUsd",
                  "ctr",
                  "cpc",
                  "cpm",
                  "cpl",
                  "externalWebsitePostClickConversions",
                  "conversionRate"
                ]
              }
            }
          },
          {
            "name": "campaignGroupId",
            "required": false,
            "in": "query",
            "description": "Campaign group ID",
            "schema": {
              "example": "87654321",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "LinkedIn Reporting"
        ]
      }
    },
    "/affiliate-manager/{locationId}/affiliates": {
      "get": {
        "operationId": "list-affiliates",
        "summary": "List Affiliates",
        "description": "Retrieve the list of affiliates for a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "schema": {
              "example": "John",
              "type": "string"
            }
          },
          {
            "name": "active",
            "required": false,
            "in": "query",
            "schema": {
              "default": false,
              "example": true,
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "schema": {
              "example": "63d376de11be1d26d38f7369",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "schema": {
              "default": 0,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of records to return. Maximum allowed value is 100.",
            "schema": {
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "fromDate",
            "required": false,
            "in": "query",
            "schema": {
              "example": "2023-10-01",
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "required": false,
            "in": "query",
            "schema": {
              "example": "2023-10-01",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/affiliate_manager_v3_ListAffiliatesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Affiliates"
        ],
        "security": [
          {
            "bearer": [
              "affiliate-manager.readonly"
            ]
          }
        ]
      }
    },
    "/affiliate-manager/{locationId}/affiliates/{affiliateId}": {
      "get": {
        "operationId": "get-affiliate",
        "summary": "Get Affiliate",
        "description": "Retrieve a single affiliate by id for a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "affiliateId",
            "required": true,
            "in": "path",
            "description": "Affiliate Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/affiliate_manager_v3_GetAffiliateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Affiliates"
        ],
        "security": [
          {
            "bearer": [
              "affiliate-manager.readonly"
            ]
          }
        ]
      }
    },
    "/affiliate-manager/{locationId}/payouts": {
      "get": {
        "operationId": "list-payouts",
        "summary": "List Payouts",
        "description": "Retrieve the list of payouts for a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Payout status",
            "schema": {
              "example": "pending",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "query",
            "schema": {
              "example": "john",
              "type": "string"
            }
          },
          {
            "name": "affiliateId",
            "required": false,
            "in": "query",
            "description": "Affiliate Id",
            "schema": {
              "example": "65df04201e428a0c5ebb6572",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign Id",
            "schema": {
              "example": "65df04201e428a0c5ebb6573",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "schema": {
              "default": 0,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "start",
            "required": false,
            "in": "query",
            "schema": {
              "example": "2022-12-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "end",
            "required": false,
            "in": "query",
            "schema": {
              "example": "2022-12-31T23:59:59.999Z",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/affiliate_manager_v3_GetPayoutListResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Payouts"
        ],
        "security": [
          {
            "bearer": [
              "affiliate-manager.readonly"
            ]
          }
        ]
      }
    },
    "/affiliate-manager/{locationId}/commissions": {
      "get": {
        "operationId": "list-commissions",
        "summary": "List Commissions",
        "description": "Retrieve the list of commissions for a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign Id",
            "schema": {
              "example": "6385d230f6d19db03eef6fb2",
              "type": "string"
            }
          },
          {
            "name": "affiliateId",
            "required": false,
            "in": "query",
            "description": "Affiliate Id",
            "schema": {
              "example": "6385d230f6d19db03eef6fb2",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Status",
            "schema": {
              "example": "pending",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Query",
            "schema": {
              "example": "affiliate@gmail.com",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "schema": {
              "default": 0,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of records to return. Maximum allowed value is 100.",
            "schema": {
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "fromDate",
            "required": false,
            "in": "query",
            "schema": {
              "example": "2023-10-01",
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "required": false,
            "in": "query",
            "schema": {
              "example": "2023-10-01",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/affiliate_manager_v3_GetCommissionListResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Commissions"
        ],
        "security": [
          {
            "bearer": [
              "affiliate-manager.readonly"
            ]
          }
        ]
      }
    },
    "/agent-studio/agent": {
      "post": {
        "operationId": "createAgent",
        "summary": "Create Agent",
        "description": "Creates a new agent with staging version. The agent will be created with an initial staging version that can later be promoted to production. ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/agent_studio_v3_CreatePublicAgentDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Agent created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_CreatePublicAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "getAgents",
        "summary": "List Agents",
        "description": "Lists all active agents for the specified location. locationId is required parameter to ensure optimal performance. Supports pagination using limit and offset. Optionally filter by isPublished=true to return only agents with a published production version.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          {
            "name": "isPublished",
            "required": false,
            "in": "query",
            "description": "Optional filter to return only agents with a published production version",
            "schema": {
              "type": "string"
            },
            "example": "true"
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "20"
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "0"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "responses": {
          "200": {
            "description": "Agents retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_GetPublishedAgentsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - locationId is required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.readonly"
            ]
          }
        ]
      }
    },
    "/agent-studio/agent/versions/{versionId}": {
      "patch": {
        "operationId": "updateAgentVersion",
        "summary": "Update Agent",
        "description": "Updates a specific agent version by versionId. Supports updating nodes, edges, variables, and configuration. ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "versionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "v1a2b3c4d5e6f7g8h9i0"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/agent_studio_v3_UpdatePublicAgentVersionDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Version updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_UpdatePublicAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Version not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      }
    },
    "/agent-studio/agent/{agentId}": {
      "patch": {
        "operationId": "updateAgentMetadata",
        "summary": "Update Agent Metadata",
        "description": "Updates agent metadata such as name, description, and status. ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/agent_studio_v3_UpdatePublicAgentMetadataDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Agent metadata updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_UpdatePublicAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Agent not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "deleteAgent",
        "summary": "Delete Agent",
        "description": "Deletes an agent and all its versions. ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "responses": {
          "200": {
            "description": "Agent deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_DeletePublicAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Agent not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "getAgentById",
        "summary": "Get Agent",
        "description": "Gets a specific agent by its ID for the specified location with all its versions. Returns complete agent metadata and all non-deleted versions (draft, staging, production). locationId is required parameter. The agent must have active status.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "responses": {
          "200": {
            "description": "Agent retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_GetAgentByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - locationId is required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Agent not found or not available"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.readonly"
            ]
          }
        ]
      }
    },
    "/agent-studio/agent/versions/{versionId}/publish": {
      "post": {
        "operationId": "promoteAndPublish",
        "summary": "Promote to Production",
        "description": "Promotes a draft version to production.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "versionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "v1a2b3c4d5e6f7g8h9i0"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/agent_studio_v3_PromoteAndPublishDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Version promoted and published successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_PromoteAndPublishResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Only draft versions can be promoted"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Version not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      }
    },
    "/agent-studio/agent/{agentId}/execute": {
      "post": {
        "operationId": "executeAgent",
        "summary": "Execute Agent",
        "description": "Executes the specified agent and returns a non-streaming JSON response with the complete agent output. The agent must be in active status and belong to the specified location. locationId is required in the request body. \n\n**Session Management:**\n- For the first message in a new session, do not include the `executionId` in the request payload.\n- The API will return an `executionId` along with the agent response, which uniquely identifies this conversation session.\n- To continue the conversation within the same session, include the `executionId` from the previous response in subsequent requests. This allows the agent to maintain conversation context and history across multiple interactions.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/agent_studio_v3_ExecutePublicAgentDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Agent executed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_ExecutePublicAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Agent is not active or invalid request - locationId is required"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "User does not have required scopes to execute this agent"
          },
          "404": {
            "description": "Agent not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      }
    },
    "/agent-studio/public-api/agents": {
      "get": {
        "operationId": "getAgents-deprecated",
        "summary": "List Agents (Deprecated)",
        "description": "**Deprecated endpoint - use GET /agent instead.**\n\nLists all active agents that have a published production version for the specified location. locationId is required parameter. Supports pagination using limit and offset.",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "20"
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "0"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "responses": {
          "200": {
            "description": "Agents retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_GetPublishedAgentsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - locationId is required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.readonly"
            ]
          }
        ]
      }
    },
    "/agent-studio/public-api/agents/{agentId}": {
      "get": {
        "operationId": "getAgentById-deprecated",
        "summary": "Get Agent (Deprecated)",
        "description": "**Deprecated endpoint - use GET /agent/:agentId instead.**\n\nGets a specific agent by its ID for the specified location with all its versions. locationId is required parameter. The agent must have active status.",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "responses": {
          "200": {
            "description": "Agent retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_GetAgentByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - locationId is required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Agent not found or not available"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.readonly"
            ]
          }
        ]
      }
    },
    "/agent-studio/public-api/agents/{agentId}/execute": {
      "post": {
        "operationId": "executeAgent-deprecated",
        "summary": "Execute Agent (Deprecated)",
        "description": "**Deprecated endpoint - use POST /agent/:agentId/execute instead.**\n\nExecutes the specified agent and returns a non-streaming JSON response with the complete agent output. The agent must be in active status and belong to the specified location. locationId is required in the request body. \n\n**Session Management:**\n- For the first message in a new session, do not include the `executionId` in the request payload.\n- The API will return an `executionId` along with the agent response, which uniquely identifies this conversation session.\n- To continue the conversation within the same session, include the `executionId` from the previous response in subsequent requests.",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            },
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          },
          {
            "name": "source",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "api"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/agent_studio_v3_ExecutePublicAgentDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Agent executed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_ExecutePublicAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Agent is not active or invalid request - locationId is required"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "User does not have required scopes to execute this agent"
          },
          "404": {
            "description": "Agent not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/agent_studio_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "Location-Access": [
              "agent-studio.write"
            ]
          }
        ]
      }
    },
    "/associations/relations": {
      "post": {
        "operationId": "create-relation",
        "summary": "Create Relation for you associated entities.",
        "description": "Create Relation.Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/associations_v3_createRelationReqDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Relations"
        ],
        "security": [
          {
            "bearer": [
              "associations/relation.write"
            ]
          }
        ]
      }
    },
    "/associations/relations/{recordId}": {
      "get": {
        "operationId": "get-relations-by-record-id",
        "summary": "Get all relations By record Id",
        "description": "Get all relations by record Id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "recordId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Your Sub Account's ID",
            "schema": {
              "example": "clF1LD04GTUKN3b3XuOj",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": true,
            "in": "query",
            "schema": {
              "example": "10",
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "schema": {
              "example": "100",
              "type": "number"
            }
          },
          {
            "name": "associationIds",
            "required": false,
            "in": "query",
            "description": "Association Ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Relations"
        ],
        "security": [
          {
            "bearer": [
              "associations/relation.readonly"
            ]
          }
        ]
      }
    },
    "/associations/relations/{relationId}": {
      "delete": {
        "operationId": "delete-relation",
        "summary": "Delete Relation",
        "description": "Delete Relation",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "relationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Your Sub Account's ID",
            "schema": {
              "example": "clF1LD04GTUKN3b3XuOj",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Relations"
        ],
        "security": [
          {
            "bearer": [
              "associations/relation.write"
            ]
          }
        ]
      }
    },
    "/associations/key/{key_name}": {
      "get": {
        "operationId": "get-association-key-by-key-name",
        "summary": "Get association key by key name",
        "description": "Using this api you can get standard / user defined association by key",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "key_name",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.readonly"
            ]
          }
        ]
      }
    },
    "/associations/objectKey/{objectKey}": {
      "get": {
        "operationId": "get-association-by-object-keys",
        "summary": "Get association by object keys",
        "description": "Get association by object keys like contacts, custom objects and opportunities. Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "objectKey",
            "required": false,
            "in": "path",
            "schema": {
              "example": "custom_objects.car",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.readonly"
            ]
          }
        ]
      }
    },
    "/associations/{associationId}": {
      "put": {
        "operationId": "update-association",
        "summary": "Update Association By Id",
        "description": "Update Association , Allows you to update labels of an associations. Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "associationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/associations_v3_UpdateAssociationReqDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-association",
        "summary": "Delete Association",
        "description": "Delete USER_DEFINED Association By Id, deleting an association will also all the relations for that association",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "associationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_DeleteAssociationsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-association-by-ID",
        "summary": "Get association by ID",
        "description": "Using this api you can get SYSTEM_DEFINED / USER_DEFINED association by id ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "associationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.readonly"
            ]
          }
        ]
      }
    },
    "/associations/": {
      "post": {
        "operationId": "create-association",
        "summary": "Create Association",
        "description": "Allow you to create contact - contact , contact - custom objects associations, will add more in the future.Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-293776/cd0f4122abc04d3",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/associations_v3_createAssociationReqDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "find-associations",
        "summary": "Get all associations for a sub-account / location",
        "description": "Get all Associations",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "example": "string",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": true,
            "in": "query",
            "schema": {
              "example": "10",
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "schema": {
              "example": "100",
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/associations_v3_GetPostSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Associations"
        ],
        "security": [
          {
            "bearer": [
              "associations.readonly"
            ]
          }
        ]
      }
    },
    "/blogs/posts/url-slug-exists": {
      "get": {
        "operationId": "check-url-slug-exists",
        "summary": "Check url slug",
        "description": "The \"Check url slug\" API allows check the blog slug validation which is needed before publishing any blog post. Please use blogs/check-slug.readonly. you can find the POST ID from the post edit url.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "urlSlug",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postId",
            "required": false,
            "example": "66f429b8afdce84227a4610d",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_UrlSlugCheckResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/check-slug.readonly"
            ]
          }
        ]
      }
    },
    "/blogs/posts/{postId}": {
      "put": {
        "operationId": "update-blog-post",
        "summary": "Update Blog Post",
        "description": "The \"Update Blog Post\" API allows you update blog post for any given blog site. Please use blogs/post-update.write",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/blogs_v3_UpdateBlogPostParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_BlogPostUpdateResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/post-update.write"
            ]
          }
        ]
      }
    },
    "/blogs/posts": {
      "post": {
        "operationId": "create-blog-post",
        "summary": "Create Blog Post",
        "description": "The \"Create Blog Post\" API allows you create blog post for any given blog site. Please use blogs/post.write",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/blogs_v3_CreateBlogPostParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_BlogPostCreateResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/post.write"
            ]
          }
        ]
      }
    },
    "/blogs/authors": {
      "get": {
        "operationId": "get-all-blog-authors-by-location",
        "summary": "Get all authors",
        "description": "The \"Get all authors\" Api return the blog authors for a given location ID. Please use \"blogs/author.readonly\" ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "description": "Number of authors to show in the listing",
            "in": "query",
            "example": 5,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": true,
            "description": "Number of authors to skip in listing",
            "in": "query",
            "example": 0,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_AuthorsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/author.readonly"
            ]
          }
        ]
      }
    },
    "/blogs/categories": {
      "get": {
        "operationId": "get-all-categories-by-location",
        "summary": "Get all categories",
        "description": "The \"Get all categories\" Api return the blog categoies for a given location ID. Please use \"blogs/category.readonly\" ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Number of categories to show in the listing",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": true,
            "description": "Number of categories to skip in listing",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_CategoriesResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/category.readonly"
            ]
          }
        ]
      }
    },
    "/blogs/posts/all": {
      "get": {
        "operationId": "get-blog-post",
        "summary": "Get Blog posts by Blog ID",
        "description": "The \"Get Blog posts by Blog ID\" API allows you get blog posts for any given blog site using blog ID.Please use blogs/posts.readonly",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blogId",
            "required": true,
            "example": "66f429b8afdce84227a4610d",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "example": 4,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": true,
            "example": 0,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "searchTerm",
            "required": false,
            "description": "search for any post by name",
            "example": "ai news",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "example": "PUBLISHED",
            "in": "query",
            "schema": {
              "enum": [
                "ALL",
                "PUBLISHED",
                "SCHEDULED",
                "ARCHIVED",
                "DRAFT"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_BlogPostGetResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/posts.readonly"
            ]
          }
        ]
      }
    },
    "/blogs/site/all": {
      "get": {
        "operationId": "get-blogs",
        "summary": "Get Blogs by Location ID",
        "description": "The \"Get Blogs by Location ID\" API allows you get blogs using Location ID.Please use blogs/list.readonly",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": true,
            "in": "query",
            "example": 0,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "example": 4,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "searchTerm",
            "required": false,
            "description": "search for any post by name",
            "example": "ai news",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/blogs_v3_BlogGetResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Blogs"
        ],
        "security": [
          {
            "Location-Access": [
              "blogs/list.readonly"
            ]
          }
        ]
      }
    },
    "/brand-boards/{locationId}": {
      "get": {
        "operationId": "getBrandBoardsByLocation",
        "summary": "Get Brand Boards",
        "description": "Retrieves all Brand Boards for a specific location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID where the brand boards exist",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of brand boards to return",
            "schema": {
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of brand boards to skip for pagination",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search term to filter brand boards by name",
            "schema": {
              "default": "",
              "example": "brandboard",
              "type": "string"
            }
          },
          {
            "name": "deleted",
            "required": false,
            "in": "query",
            "description": "Include deleted brand boards in results",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_GetBrandBoardsByLocationSuccessDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "brand-boards/design-kit.readonly"
            ]
          }
        ],
        "tags": [
          "Brand Boards"
        ]
      }
    },
    "/brand-boards/{locationId}/{id}": {
      "get": {
        "operationId": "getBrandBoardById",
        "summary": "Get Brand Board",
        "description": "Retrieves a specific Brand Board by its ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID where the brand board exists",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Brand board ID to update, retrieve, or delete",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_GetBrandBoardSuccessDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "brand-boards/design-kit.readonly"
            ]
          }
        ],
        "tags": [
          "Brand Boards"
        ]
      },
      "patch": {
        "operationId": "updateBrandBoard",
        "summary": "Update a Brand Board",
        "description": "Updates an existing Brand Board",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID where the brand board exists",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Brand board ID to update, retrieve, or delete",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/brand_boards_v3_UpdateBrandBoardBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_GetBrandBoardSuccessDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "brand-boards/design-kit.write"
            ]
          }
        ],
        "tags": [
          "Brand Boards"
        ]
      },
      "delete": {
        "operationId": "deleteBrandBoard",
        "summary": "Delete a Brand Board",
        "description": "Deletes a Brand Board",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID where the brand board exists",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Brand board ID to update, retrieve, or delete",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_GetBrandBoardSuccessDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "brand-boards/design-kit.write"
            ]
          }
        ],
        "tags": [
          "Brand Boards"
        ]
      }
    },
    "/brand-boards/": {
      "post": {
        "operationId": "createBrandBoard",
        "summary": "Create a new brand board",
        "description": "Creates a new brand board with logos, colors, and fonts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/brand_boards_v3_CreateBrandBoardParam"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_GetBrandBoardSuccessDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "brand-boards/design-kit.write"
            ]
          }
        ],
        "tags": [
          "Brand Boards"
        ]
      }
    },
    "/businesses/{businessId}": {
      "put": {
        "operationId": "update-business",
        "summary": "Update Business",
        "description": "Update Business",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "businessId",
            "required": true,
            "in": "path",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/businesses_v3_UpdateBusinessDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/businesses_v3_UpdateBusinessResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Businesses"
        ],
        "security": [
          {
            "bearer": [
              "businesses.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-Business",
        "summary": "Delete Business",
        "description": "Delete Business",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "businessId",
            "required": true,
            "in": "path",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/businesses_v3_DeleteBusinessResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Businesses"
        ],
        "security": [
          {
            "bearer": [
              "businesses.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-business",
        "summary": "Get Business",
        "description": "Get Business",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "businessId",
            "required": true,
            "in": "path",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/businesses_v3_GetBusinessByIdResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Businesses"
        ],
        "security": [
          {
            "bearer": [
              "businesses.readonly"
            ]
          }
        ]
      }
    },
    "/businesses/": {
      "get": {
        "operationId": "get-businesses-by-location",
        "summary": "Get Businesses by Location",
        "description": "Get Businesses by Location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "example": "5DP4iH6HLkQsiKESj6rh",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "default": "100",
              "example": "100",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "schema": {
              "default": "0",
              "example": "10",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/businesses_v3_GetBusinessByLocationResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Businesses"
        ],
        "security": [
          {
            "bearer": [
              "businesses.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-business",
        "summary": "Create Business",
        "description": "Create Business",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/businesses_v3_CreateBusinessDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/businesses_v3_UpdateBusinessResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Businesses"
        ],
        "security": [
          {
            "bearer": [
              "businesses.write"
            ]
          }
        ]
      }
    },
    "/calendars/groups": {
      "get": {
        "operationId": "get-groups",
        "summary": "Get Groups",
        "description": "Get all calendar groups in a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_AllGroupsSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Groups"
        ],
        "security": [
          {
            "bearer": [
              "calendars/groups.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-calendar-group",
        "summary": "Create Calendar Group",
        "description": "Create Calendar Group",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_GroupCreateDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GroupCreateSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Groups"
        ],
        "security": [
          {
            "bearer": [
              "calendars/groups.write"
            ]
          }
        ]
      }
    },
    "/calendars/groups/validate-slug": {
      "post": {
        "operationId": "validate-groups-slug",
        "summary": "Validate group slug",
        "description": "Validate if group slug is available or not.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_ValidateGroupSlugPostBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ValidateGroupSlugSuccessResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Groups"
        ],
        "security": [
          {
            "bearer": [
              "calendars/groups.write"
            ]
          }
        ]
      }
    },
    "/calendars/groups/{groupId}": {
      "delete": {
        "operationId": "delete-group",
        "summary": "Delete Group",
        "description": "Delete Group",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "groupId",
            "required": true,
            "in": "path",
            "description": "Group Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GroupSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Groups"
        ],
        "security": [
          {
            "bearer": [
              "calendars/groups.write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "edit-group",
        "summary": "Update Group",
        "description": "Update Group by group ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "groupId",
            "required": true,
            "in": "path",
            "description": "Group Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_GroupUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GroupCreateSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Groups"
        ],
        "security": [
          {
            "bearer": [
              "calendars/groups.write"
            ]
          }
        ]
      }
    },
    "/calendars/groups/{groupId}/status": {
      "put": {
        "operationId": "disable-group",
        "summary": "Disable Group",
        "description": "Disable Group",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "groupId",
            "required": true,
            "in": "path",
            "description": "Group Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_GroupStatusUpdateParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GroupSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Groups"
        ],
        "security": [
          {
            "bearer": [
              "calendars/groups.write"
            ]
          }
        ]
      }
    },
    "/calendars/events/appointments": {
      "post": {
        "operationId": "create-appointment",
        "summary": "Create appointment",
        "description": "Create appointment",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_AppointmentCreateSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_AppointmentSchemaResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/events/appointments/{eventId}": {
      "put": {
        "operationId": "edit-appointment",
        "summary": "Update Appointment",
        "description": "Update appointment",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "eventId",
            "required": true,
            "in": "path",
            "description": "Event Id or Instance id. For recurring appointments send masterEventId to modify original series.",
            "examples": {
              "example1": {
                "summary": "Event ID",
                "value": "ocQHyuzHvysMo5N5VsXc"
              },
              "example2": {
                "summary": "Recurring Instance ID",
                "value": "ocQHyuzHvysMo5N5VsXc_1729821600000_1800"
              }
            },
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_AppointmentEditSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_AppointmentSchemaResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-appointment",
        "summary": "Get Appointment",
        "description": "Get appointment by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "eventId",
            "required": true,
            "in": "path",
            "description": "Event Id or Instance id. For recurring appointments send masterEventId to modify original series.",
            "examples": {
              "example1": {
                "summary": "Event ID",
                "value": "ocQHyuzHvysMo5N5VsXc"
              },
              "example2": {
                "summary": "Recurring Instance ID",
                "value": "ocQHyuzHvysMo5N5VsXc_1729821600000_1800"
              }
            },
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetCalendarEventSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      }
    },
    "/calendars/events": {
      "get": {
        "operationId": "get-calendar-events",
        "summary": "Get Calendar Events",
        "description": "Get Calendar Events",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "0007BWpSzSwfiuSl0tR2",
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": false,
            "in": "query",
            "description": "User Id - Owner of an appointment. Either of userId, groupId or calendarId is required",
            "schema": {
              "example": "CVokAlI8fgw4WYWoCtQz",
              "type": "string"
            }
          },
          {
            "name": "calendarId",
            "required": false,
            "in": "query",
            "description": "Either of calendarId, userId or groupId is required",
            "schema": {
              "example": "BqTwX8QFwXzpegMve9EQ",
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "required": false,
            "in": "query",
            "description": "Either of groupId, calendarId or userId is required",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          },
          {
            "name": "startTime",
            "required": true,
            "in": "query",
            "description": "Start Time (in millis)",
            "schema": {
              "example": "1680373800000",
              "type": "string"
            }
          },
          {
            "name": "endTime",
            "required": true,
            "in": "query",
            "description": "End Time (in millis)",
            "schema": {
              "example": "1680978599999",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetCalendarEventsSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      }
    },
    "/calendars/blocked-slots": {
      "get": {
        "operationId": "get-blocked-slots",
        "summary": "Get Blocked Slots",
        "description": "Get Blocked Slots",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "0007BWpSzSwfiuSl0tR2",
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": false,
            "in": "query",
            "description": "User Id - Owner of an appointment. Either of userId, groupId or calendarId is required",
            "schema": {
              "example": "CVokAlI8fgw4WYWoCtQz",
              "type": "string"
            }
          },
          {
            "name": "calendarId",
            "required": false,
            "in": "query",
            "description": "Either of calendarId, userId or groupId is required",
            "schema": {
              "example": "BqTwX8QFwXzpegMve9EQ",
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "required": false,
            "in": "query",
            "description": "Either of groupId, calendarId or userId is required",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          },
          {
            "name": "startTime",
            "required": true,
            "in": "query",
            "description": "Start Time (in millis)",
            "schema": {
              "example": "1680373800000",
              "type": "string"
            }
          },
          {
            "name": "endTime",
            "required": true,
            "in": "query",
            "description": "End Time (in millis)",
            "schema": {
              "example": "1680978599999",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetCalendarEventsSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      }
    },
    "/calendars/events/block-slots": {
      "post": {
        "operationId": "create-block-slot",
        "summary": "Create Block Slot",
        "description": "Create block slot",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_BlockSlotCreateRequestDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_BlockedSlotSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/events/block-slots/{eventId}": {
      "put": {
        "operationId": "edit-block-slot",
        "summary": "Update Block Slot",
        "description": "Update block slot by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "eventId",
            "required": true,
            "in": "path",
            "description": "Event Id or Instance id. For recurring appointments send masterEventId to modify original series.",
            "examples": {
              "example1": {
                "summary": "Event ID",
                "value": "ocQHyuzHvysMo5N5VsXc"
              },
              "example2": {
                "summary": "Recurring Instance ID",
                "value": "ocQHyuzHvysMo5N5VsXc_1729821600000_1800"
              }
            },
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_BlockSlotEditRequestDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_BlockedSlotSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/{calendarId}/free-slots": {
      "get": {
        "operationId": "get-slots",
        "summary": "Get Free Slots",
        "description": "Get free slots for a calendar between a date range. Optionally a consumer can also request free slots in a particular timezone and also for a particular user.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Calendar Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": true,
            "in": "query",
            "description": "Start Date (**⚠️ Important:** Date range cannot be more than 31 days)",
            "schema": {
              "example": 1548898600000,
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "required": true,
            "in": "query",
            "description": "End Date (**⚠️ Important:** Date range cannot be more than 31 days)",
            "schema": {
              "example": 1601490599999,
              "type": "number"
            }
          },
          {
            "name": "timezone",
            "required": false,
            "in": "query",
            "description": "The timezone in which the free slots are returned",
            "schema": {
              "example": "America/Chihuahua",
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": false,
            "in": "query",
            "description": "The user for whom the free slots are returned",
            "schema": {
              "example": "082goXVW3lIExEQPOnd3",
              "type": "string"
            }
          },
          {
            "name": "userIds",
            "required": false,
            "in": "query",
            "description": "The users for whom the free slots are returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Availability map keyed by date (YYYY-MM-DD)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/calendars_v3_SlotsSchema"
                  },
                  "example": {
                    "2024-10-28": {
                      "slots": [
                        "2024-10-28T10:00:00-05:00",
                        "2024-10-28T11:00:00-05:00"
                      ]
                    },
                    "2024-10-29": {
                      "slots": [
                        "2024-10-29T10:00:00-05:00",
                        "2024-10-29T14:30:00-05:00"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendars"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      }
    },
    "/calendars/{calendarId}": {
      "put": {
        "operationId": "update-calendar",
        "summary": "Update Calendar",
        "description": "Update calendar by ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Calendar Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CalendarUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarByIdSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendars"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-calendar",
        "summary": "Get Calendar",
        "description": "Get calendar by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Calendar Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarByIdSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendars"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-calendar",
        "summary": "Delete Calendar",
        "description": "Delete calendar by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Calendar Id",
            "schema": {
              "example": "ocQHyuzHvysMo5N5VsXc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarDeleteSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendars"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/events/{eventId}": {
      "delete": {
        "operationId": "delete-event",
        "summary": "Delete Event",
        "description": "Delete event by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "eventId",
            "required": true,
            "in": "path",
            "description": "Event Id or Instance id. For recurring appointments send masterEventId to modify original series.",
            "examples": {
              "example1": {
                "summary": "Event ID",
                "value": "ocQHyuzHvysMo5N5VsXc"
              },
              "example2": {
                "summary": "Recurring Instance ID",
                "value": "ocQHyuzHvysMo5N5VsXc_1729821600000_1800"
              }
            },
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_DeleteAppointmentSchema"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_DeleteEventSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Events"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/appointments/{appointmentId}/notes": {
      "get": {
        "operationId": "get-appointment-notes",
        "summary": "Get Notes",
        "description": "Get Appointment Notes",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit of notes to fetch",
            "schema": {
              "maximum": 20,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Offset of notes to fetch",
            "schema": {
              "minimum": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "appointmentId",
            "required": true,
            "in": "path",
            "description": "Appointment ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetNotesListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Appointment Notes"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-appointment-note",
        "summary": "Create Note",
        "description": "Create Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "appointmentId",
            "required": true,
            "in": "path",
            "description": "Appointment ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_NotesDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetCreateUpdateNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Appointment Notes"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/appointments/{appointmentId}/notes/{noteId}": {
      "put": {
        "operationId": "update-appointment-note",
        "summary": "Update Note",
        "description": "Update Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "appointmentId",
            "required": true,
            "in": "path",
            "description": "Appointment ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_NotesDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetCreateUpdateNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Appointment Notes"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-appointment-note",
        "summary": "Delete Note",
        "description": "Delete Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "appointmentId",
            "required": true,
            "in": "path",
            "description": "Appointment ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_DeleteNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Appointment Notes"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/resources/{resourceType}/{id}": {
      "get": {
        "operationId": "get-calendar-resource",
        "summary": "Get Calendar Resource",
        "description": "Get calendar resource by ID (Services V1)",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "resourceType",
            "required": true,
            "in": "path",
            "description": "Calendar Resource Type",
            "schema": {
              "enum": [
                "equipments",
                "rooms"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Calendar Resource ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Calendar resource fetched",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarResourceByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Resources: Rooms & Equipments"
        ],
        "security": [
          {
            "Location-Access": [
              "calendars/resources.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-calendar-resource",
        "summary": "Update Calendar Resource",
        "description": "Update calendar resource by ID (Services V1)",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "resourceType",
            "required": true,
            "in": "path",
            "description": "Calendar Resource Type",
            "schema": {
              "enum": [
                "equipments",
                "rooms"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Calendar Resource ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateCalendarResourceDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Calendar resource updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarResourceResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Resources: Rooms & Equipments"
        ],
        "security": [
          {
            "Location-Access": [
              "calendars/resources.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-calendar-resource",
        "summary": "Delete Calendar Resource",
        "description": "Delete calendar resource by ID (Services V1)",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "resourceType",
            "required": true,
            "in": "path",
            "description": "Calendar Resource Type",
            "schema": {
              "enum": [
                "equipments",
                "rooms"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Calendar Resource ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Calendar resource deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ResourceDeleteResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Resources: Rooms & Equipments"
        ],
        "security": [
          {
            "Location-Access": [
              "calendars/resources.write"
            ]
          }
        ]
      }
    },
    "/calendars/resources/{resourceType}": {
      "get": {
        "operationId": "fetch-calendar-resources",
        "summary": "List Calendar Resources",
        "description": "List calendar resources by resource type and location ID (Services V1)",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "resourceType",
            "required": true,
            "in": "path",
            "description": "Calendar Resource Type",
            "schema": {
              "enum": [
                "equipments",
                "rooms"
              ],
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "required": true,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Calendar resources listed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/calendars_v3_CalendarResourceByIdResponseDTO"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Resources: Rooms & Equipments"
        ],
        "security": [
          {
            "Location-Access": [
              "calendars/resources.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-calendar-resource",
        "summary": "Create Calendar Resource",
        "description": "Create calendar resource by resource type (Services V1)",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "resourceType",
            "required": true,
            "in": "path",
            "description": "Calendar Resource Type",
            "schema": {
              "enum": [
                "equipments",
                "rooms"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CreateCalendarResourceDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Calendar resource created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarResourceByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Resources: Rooms & Equipments"
        ],
        "security": [
          {
            "Location-Access": [
              "calendars/resources.write"
            ]
          }
        ]
      }
    },
    "/calendars/{calendarId}/notifications": {
      "get": {
        "operationId": "get-event-notification",
        "summary": "Get notifications",
        "description": "Get calendar notifications based on query",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "required": false,
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "deleted",
            "required": false,
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of records to return",
            "schema": {
              "default": 100,
              "type": "number"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of records to skip",
            "schema": {
              "default": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/calendars_v3_CalendarNotificationResponseDTO"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Notifications"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-event-notification",
        "summary": "Create notification",
        "description": "Create Calendar notifications, either one or multiple. All notification settings must be for single calendar only",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/calendars_v3_CreateCalendarNotificationDTO"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/calendars_v3_CalendarNotificationResponseDTO"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Notifications"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/{calendarId}/notifications/{notificationId}": {
      "get": {
        "operationId": "find-event-notification",
        "summary": "Get notification",
        "description": "Find Event notification by notificationId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "notificationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarNotificationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Notifications"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-event-notification",
        "summary": "Update notification",
        "description": "Update Event notification by id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "notificationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateCalendarNotificationsDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarNotificationDeleteResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Notifications"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-event-notification",
        "summary": "Delete Notification",
        "description": "Delete notification",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "notificationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarNotificationDeleteResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendar Notifications"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/schedules/search": {
      "get": {
        "operationId": "getAllSchedules",
        "summary": "List user availability schedule",
        "description": "Retrieve user availability schedules based on various filters including location, calendar, and user. Supports pagination.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID to filter schedules by",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User ID to filter schedules by specific user",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          },
          {
            "name": "calendarId",
            "required": false,
            "in": "query",
            "description": "Calendar ID for filtering schedules by specific calendar",
            "schema": {
              "example": "WvVX9LpvlBO6K506xLbp",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of items to skip for pagination",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of items to return (max 500)",
            "schema": {
              "minimum": 1,
              "maximum": 500,
              "default": 50,
              "example": 50,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Schedules retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_GetAllSchedulesResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      }
    },
    "/calendars/schedules/{id}": {
      "get": {
        "operationId": "getScheduleById",
        "summary": "Get user availability schedule",
        "description": "Retrieve a specific schedule by its unique identifier. Returns detailed information including rules, timezone, and associated calendars/users.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the schedule",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Schedule found and retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ScheduleResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Schedule with the specified ID was not found"
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "updateSchedule",
        "summary": "Update user availability schedule",
        "description": "Modify an existing schedule by updating its rules, timezone, and name All fields are optional - only provided fields will be updated.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the schedule to update",
            "schema": {
              "example": "sch123def456ghi789",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateScheduleDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Schedule updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ScheduleResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Schedule with the specified ID was not found"
          },
          "422": {
            "description": "Validation errors in schedule rules or conflicting data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "deleteSchedule",
        "summary": "Delete user availability schedule",
        "description": "Permanently remove a schedule and all its associated rules. This action cannot be undone.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the schedule to delete",
            "schema": {
              "example": "sch123def456ghi789",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Schedule deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Whether the deletion was successful",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Schedule with the specified ID was not found"
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/schedules": {
      "post": {
        "operationId": "createSchedule",
        "summary": "Create user availability schedule",
        "description": "Create new schedule with specified rules, timezone, location, user and calendar associations.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CreateScheduleDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Schedule created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ScheduleResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation errors in schedule rules or conflicting data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/schedules/{id}/associations/{calendarId}": {
      "put": {
        "operationId": "add-calendar-to-schedule",
        "summary": "Apply user availability schedule to a calendar",
        "description": "Associates a calendar with the given schedule by adding the calendarId to a schedule",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the schedule",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the team calendar to add to the schedule",
            "schema": {
              "example": "WvVX9LpvlBO6K506xLbp",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Calendar successfully added to schedule",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Schedule and calendar must belong to the same location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Schedule or calendar not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "remove-calendar-from-schedule",
        "summary": "Remove user availability schedule from a calendar",
        "description": "Removes the association between a team calendar and the given schedule by removing the calendarId from the schedule",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the schedule",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the calendar to remove from the schedule",
            "schema": {
              "example": "WvVX9LpvlBO6K506xLbp",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Calendar successfully removed from schedule",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Schedule and calendar must belong to the same location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Schedule or calendar not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/": {
      "get": {
        "operationId": "get-calendars",
        "summary": "Get Calendars",
        "description": "Get all calendars in a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "required": false,
            "in": "query",
            "description": "Group Id",
            "schema": {
              "example": "BqTwX8QFwXzpegMve9EQ",
              "type": "string"
            }
          },
          {
            "name": "showDrafted",
            "required": false,
            "in": "query",
            "description": "Show drafted",
            "schema": {
              "default": true,
              "example": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarsGetSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendars"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-calendar",
        "summary": "Create Calendar",
        "description": "Create calendar in a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CalendarCreateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CalendarByIdSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Calendars"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/campaigns/": {
      "get": {
        "operationId": "get-campaigns",
        "summary": "Get Campaigns",
        "description": "Get Campaigns",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "example": "draft",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/campaigns_v3_CampaignsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "bearer": [
              "campaigns.readonly"
            ]
          }
        ]
      }
    },
    "/companies/{companyId}": {
      "get": {
        "operationId": "get-company",
        "summary": "Get Company",
        "description": "Get Comapny",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/companies_v3_GetCompanyByIdSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Companies"
        ],
        "security": [
          {
            "Agency-Access": [
              "companies.readonly"
            ]
          }
        ]
      }
    },
    "/contacts/search": {
      "post": {
        "operationId": "search-contacts-advanced",
        "summary": "Search Contacts",
        "description": "Search contacts based on combinations of advanced filters. Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-158396/6e629989abe7fad",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-158396/6e629989abe7fad",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_SearchBodyV2DTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      }
    },
    "/contacts/search/duplicate": {
      "get": {
        "operationId": "get-duplicate-contact",
        "summary": "Get Duplicate Contact",
        "description": "Get Duplicate Contact.<br/><br/>If `Allow Duplicate Contact` is disabled under Settings, the global unique identifier will be used for searching the contact. If the setting is enabled, first priority for search is `email` and the second priority will be `phone`.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "number",
            "required": false,
            "in": "query",
            "description": "Phone Number — URL-encoded. E.g. +1423164516 → %2B1423164516",
            "schema": {
              "type": "string",
              "example": "%2B1423164516"
            }
          },
          {
            "name": "email",
            "required": false,
            "in": "query",
            "description": "Email — URL-encoded. E.g. test+abc@gmail.com → test%2Babc%40gmail.com",
            "schema": {
              "type": "string",
              "example": "test%2Babc%40gmail.com"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/tasks": {
      "get": {
        "operationId": "get-all-tasks",
        "summary": "Get all Tasks",
        "description": "Get all Tasks",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_TasksListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-task",
        "summary": "Create Task",
        "description": "Create Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_CreateTaskParams"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_TaskByIsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/tasks/{taskId}": {
      "get": {
        "operationId": "get-task",
        "summary": "Get Task",
        "description": "Get Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "taskId",
            "required": true,
            "in": "path",
            "description": "Task Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_TaskByIsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-task",
        "summary": "Update Task",
        "description": "Update Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "taskId",
            "required": true,
            "in": "path",
            "description": "Task Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_UpdateTaskBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_TaskByIsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-task",
        "summary": "Delete Task",
        "description": "Delete Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "taskId",
            "required": true,
            "in": "path",
            "description": "Task Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_DeleteTaskSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/tasks/{taskId}/completed": {
      "put": {
        "operationId": "update-task-completed",
        "summary": "Update Task Completed",
        "description": "Update Task Completed",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "taskId",
            "required": true,
            "in": "path",
            "description": "Task Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_UpdateTaskStatusParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_TaskByIsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/appointments": {
      "get": {
        "operationId": "get-appointments-for-contact",
        "summary": "Get Appointments for Contact",
        "description": "Get Appointments for Contact",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_GetEventsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Appointments"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/tags": {
      "post": {
        "operationId": "add-tags",
        "summary": "Add Tags",
        "description": "Add Tags",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_TagsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateAddTagSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "remove-tags",
        "summary": "Remove Tags",
        "description": "Remove Tags",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_TagsDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateDeleteTagSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/notes": {
      "get": {
        "operationId": "get-all-notes",
        "summary": "Get All Notes",
        "description": "Get All Notes",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_GetNotesListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Notes"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-note",
        "summary": "Create Note",
        "description": "Create Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_NotesDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_GetCreateUpdateNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Notes"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/notes/{id}": {
      "get": {
        "operationId": "get-note",
        "summary": "Get Note",
        "description": "Get Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Note Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_GetCreateUpdateNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Notes"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-note",
        "summary": "Update Note",
        "description": "Update Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Note Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_UpdateNoteDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_GetCreateUpdateNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Notes"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-note",
        "summary": "Delete Note",
        "description": "Delete Note",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Note Id",
            "schema": {
              "type": "string",
              "example": "ocQHyuzHvysMo5N5VsXc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_DeleteNoteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Notes"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/bulk/tags/update/{type}": {
      "post": {
        "operationId": "create-association",
        "summary": "Update Contacts Tags",
        "description": "Allows you to update tags to multiple contacts at once, you can add or remove tags from the contacts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_UpdateTagsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_UpdateTagsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Bulk"
        ]
      }
    },
    "/contacts/bulk/business": {
      "post": {
        "operationId": "add-remove-contact-from-business",
        "summary": "Add/Remove Contacts From Business",
        "description": "Add/Remove Contacts From Business . Passing a `null` businessId will remove the businessId from the contacts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_ContactsBusinessUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_ContactsBulkUpateResponse"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Bulk"
        ]
      }
    },
    "/contacts/{contactId}": {
      "get": {
        "operationId": "get-contact",
        "x-version-added": "v3",
        "summary": "Get Contact",
        "description": "Retrieves a contact by its unique identifier.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the contact",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_ContactsByIdSuccessfulResponseDtoV3"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-contact",
        "x-version-added": "v3",
        "summary": "Update Contact",
        "description": "Update a contact using contactId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the contact",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_UpdateContactDtoV3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_UpdateContactsSuccessfulResponseDtoV3"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-contact",
        "summary": "Delete Contact",
        "description": "Delete Contact",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_DeleteContactsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/upsert": {
      "post": {
        "operationId": "upsert-contact",
        "x-version-added": "v3",
        "summary": "Upsert Contact",
        "description": "The Upsert API will adhere to the configuration defined under the \"Allow Duplicate Contact\" setting at the Location level. If the setting is configured to check both Email and Phone, the API will attempt to identify an existing contact based on the priority sequence specified in the setting, and will create or update the contact accordingly.<br/><br/>If two separate contacts already exist—one with the same email and another with the same phone—and an upsert request includes both the email and phone, the API will update the contact that matches the first field in the configured sequence, and ignore the second field to prevent duplication.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_UpsertContactDtoV3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_UpsertContactsSuccessfulResponseDtoV3"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/business/{businessId}": {
      "get": {
        "operationId": "get-contacts-by-businessId",
        "summary": "Get Contacts By BusinessId",
        "description": "Get Contacts By BusinessId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "businessId",
            "required": true,
            "in": "path",
            "description": "Business Id",
            "schema": {
              "type": "string",
              "example": "641c094001436dbc2081e642"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of records per page (up to 100, default 25)",
            "schema": {
              "type": "string",
              "example": "10"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "type": "string",
              "example": "5DP4iH6HLkQsiKESj6rh"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of records to skip",
            "schema": {
              "type": "string",
              "example": "10"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search query (name, email, phone)",
            "schema": {
              "type": "string",
              "example": "John"
            }
          },
          {
            "name": "startAfter",
            "required": false,
            "in": "query",
            "description": "Cursor for pagination (comma-separated name,id pair)",
            "oneOf": [
              {
                "type": "string",
                "example": "eleanor sakai,xurJiljRhcxpwRYXbxUU"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  "eleanor sakai",
                  "xurJiljRhcxpwRYXbxUU"
                ]
              }
            ],
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_ContactsSearchSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/followers": {
      "post": {
        "operationId": "add-followers-contact",
        "summary": "Add Followers",
        "description": "Add Followers",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_FollowersDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateAddFollowersSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Followers"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "remove-followers-contact",
        "summary": "Remove Followers",
        "description": "Remove Followers",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_FollowersDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_DeleteFollowersSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Followers"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/campaigns/{campaignId}": {
      "post": {
        "operationId": "add-contact-to-campaign",
        "summary": "Add Contact to Campaign",
        "description": "Add contact to Campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign Id",
            "schema": {
              "type": "string",
              "example": "Y5AMhDEE4L6EuVmmDTKZ"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_AddContactToCampaignDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateDeleteCantactsCampaignsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "remove-contact-from-campaign",
        "summary": "Remove Contact From Campaign",
        "description": "Remove Contact From Campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign Id",
            "schema": {
              "type": "string",
              "example": "Y5AMhDEE4L6EuVmmDTKZ"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateDeleteCantactsCampaignsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/campaigns/removeAll": {
      "delete": {
        "operationId": "remove-contact-from-every-campaign",
        "summary": "Remove Contact From Every Campaign",
        "description": "Remove Contact From Every Campaign",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "example": "3bZD1nQzbul0MCancbQD",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_CreateDeleteCantactsCampaignsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/{contactId}/workflow/{workflowId}": {
      "post": {
        "operationId": "add-contact-to-workflow",
        "summary": "Add Contact to Workflow",
        "description": "Add Contact to Workflow",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "workflowId",
            "required": true,
            "in": "path",
            "description": "Workflow Id",
            "schema": {
              "type": "string",
              "example": "f5a2ab74-4c1c-4ede-9c43-2ef1e01e0b38"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_CreateWorkflowDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_ContactsWorkflowSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Workflow"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-contact-from-workflow",
        "summary": "Delete Contact from Workflow",
        "description": "Delete Contact from Workflow",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "workflowId",
            "required": true,
            "in": "path",
            "description": "Workflow Id",
            "schema": {
              "type": "string",
              "example": "f5a2ab74-4c1c-4ede-9c43-2ef1e01e0b38"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_CreateWorkflowDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_ContactsWorkflowSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Workflow"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/contacts/": {
      "post": {
        "operationId": "create-contact",
        "x-version-added": "v3",
        "summary": "Create Contact",
        "description": "Create a new contact",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contacts_v3_CreateContactDtoV3"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateContactsSuccessfulResponseDtoV3"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-contacts",
        "summary": "Get Contacts",
        "description": "Get Contacts\n\n **Note:** This API endpoint is deprecated. Please use the [Search Contacts](/docs/api/search-contacts-advanced) endpoint instead.",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "startAfterId",
            "required": false,
            "in": "query",
            "description": "Start After Id",
            "schema": {
              "example": "UIaE1WjAwWKdlyD7osQI",
              "type": "string"
            }
          },
          {
            "name": "startAfter",
            "required": false,
            "in": "query",
            "description": "Start Afte",
            "schema": {
              "example": 1603870249758,
              "type": "number"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Contact Query",
            "schema": {
              "example": "John",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit Per Page records count. will allow maximum up to 100 and default will be 20",
            "schema": {
              "default": 20,
              "example": 20,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_ContactsSearchSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Contacts"
        ],
        "security": [
          {
            "bearer": [
              "contacts.readonly"
            ]
          }
        ]
      }
    },
    "/conversation-ai/agents/{agentId}/actions": {
      "post": {
        "operationId": "create-action",
        "summary": "Attach Action to Agent",
        "description": "Creates and attach a new action for an AI agent. Actions define specific tasks or behaviors that the agent can perform, such as booking appointments, sending follow-ups, or collecting information.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversation_ai_v3_CreateActionDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_createActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Actions"
        ]
      }
    },
    "/conversation-ai/agents/{agentId}/actions/list": {
      "get": {
        "operationId": "list-actions",
        "summary": "List Actions for an Agent",
        "description": "List for actions for an agent",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_fetchActionsForEmployeeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.readonly"
            ]
          }
        ],
        "tags": [
          "Actions"
        ]
      }
    },
    "/conversation-ai/agents/{agentId}/actions/{actionId}": {
      "get": {
        "operationId": "get-action-by-id",
        "summary": "Get Action by ID",
        "description": "Retrieves detailed information about a specific action using its unique identifier. Returns the action configuration, associated agents, and performance metrics.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "actionId",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the action ID Attached to the agent",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_fetchActionDetailsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.readonly"
            ]
          }
        ],
        "tags": [
          "Actions"
        ]
      },
      "put": {
        "operationId": "update-action",
        "summary": "Update Action",
        "description": "Updates an existing action's configuration. This includes modifying the action name, description, trigger conditions, and behavior settings.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "actionId",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the action ID Attached to the agent",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversation_ai_v3_CreateActionDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_updateActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Actions"
        ]
      },
      "delete": {
        "operationId": "delete-action",
        "summary": "Remove Action from Agent",
        "description": "Permanently deletes an action. This will remove the action from all associated agents and cannot be undone.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "actionId",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the action ID Attached to the agent",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_deleteActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Actions"
        ]
      }
    },
    "/conversation-ai/agents/{agentId}/followup-settings": {
      "patch": {
        "operationId": "update-followup-settings",
        "summary": "Update Followup Settings",
        "description": "Update the followup settings for an action",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversation_ai_v3_UpdateFollowupSettingsDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_updateActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Actions"
        ]
      }
    },
    "/conversation-ai/agents": {
      "post": {
        "operationId": "create-agent",
        "summary": "Create an Agent",
        "description": "Creates a new AI agent for the location. The agent will be created with the specified configuration including name, role, actions, and behavior settings.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversation_ai_v3_CreateEmployeeDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_EmployeeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Agents"
        ]
      }
    },
    "/conversation-ai/agents/search": {
      "get": {
        "operationId": "search-agent",
        "summary": "Search Agents",
        "description": "Searches for AI agents based on various criteria including name, status, and configuration. Supports advanced filtering and full-text search capabilities.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "startAfter",
            "required": false,
            "in": "query",
            "description": "Start after is the agent id to start after, Serving as skip, send empty when first page",
            "schema": {
              "example": "Exampleee123",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Records per page",
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "query to search on agent name, must be provided in lowercase",
            "schema": {
              "example": "booking",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_SearchEmployeeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.readonly"
            ]
          }
        ],
        "tags": [
          "Agents"
        ]
      }
    },
    "/conversation-ai/agents/{agentId}": {
      "put": {
        "operationId": "update-agent",
        "summary": "Update Agent",
        "description": "Updates an existing AI agent's configuration. All fields in the agent configuration can be updated including name, status, actions, and behavior settings.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "description": "Conversations AI agent id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversation_ai_v3_UpdateEmployeeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_EmployeeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Agents"
        ]
      },
      "get": {
        "operationId": "get-agent",
        "summary": "Get Agent",
        "description": "Retrieves a specific AI agent by its ID. Returns the complete agent configuration including name, status, actions, and settings.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "description": "Conversations AI agent id",
            "schema": {
              "example": "EmployeeId123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_EmployeeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.readonly"
            ]
          }
        ],
        "tags": [
          "Agents"
        ]
      },
      "delete": {
        "operationId": "delete-agent",
        "summary": "Delete Agent",
        "description": "Deletes an AI agent permanently. This action cannot be undone. All associated configurations and conversation history will be removed.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "description": "Conversations AI agent id",
            "schema": {
              "example": "EmployeeId123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_DeleteEmployeeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.write"
            ]
          }
        ],
        "tags": [
          "Agents"
        ]
      }
    },
    "/conversation-ai/generations": {
      "get": {
        "operationId": "get-generation-details",
        "summary": "Get the generation details",
        "description": "Retrieves detailed information about AI responses including the System Prompt, Conversation history, Knowledge base, website, FAQ chunks, and Rich Text chunks.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "query",
            "description": "Message Id",
            "schema": {
              "example": "messageId123",
              "type": "string"
            }
          },
          {
            "name": "source",
            "required": true,
            "in": "query",
            "schema": {
              "example": "conversation",
              "enum": [
                "conversation",
                "workflow"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversation_ai_v3_FetchAIResponseDetailsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "conversation-ai.readonly"
            ]
          }
        ],
        "tags": [
          "Generations"
        ]
      }
    },
    "/conversations/search": {
      "get": {
        "operationId": "search-conversation",
        "summary": "Search Conversations",
        "description": "Returns a list of all conversations matching the search criteria along with the sort and filter options selected.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact Id",
            "schema": {
              "example": "9VEmS0si86GW6gXWU89b",
              "type": "string"
            }
          },
          {
            "name": "assignedTo",
            "required": false,
            "in": "query",
            "description": "User IDs that conversations are assigned to. Multiple IDs can be provided as comma-separated values. Use \"unassigned\" to fetch conversations not assigned to any user.",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK,fGiae4CHkzoskh8thsik",
              "type": "string"
            }
          },
          {
            "name": "followers",
            "required": false,
            "in": "query",
            "description": "User IDs of followers to filter conversations by. Multiple IDs can be provided as comma-separated values.",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK,fGiae4CHkzoskh8thsik",
              "type": "string"
            }
          },
          {
            "name": "mentions",
            "required": false,
            "in": "query",
            "description": "User Id of the mention. Multiple values are comma separated.",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK,fGiae4CHkzoskh8thsik",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search paramater as a string",
            "schema": {
              "example": "Search string",
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "description": "Sort paramater - asc or desc",
            "schema": {
              "example": "asc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "name": "startAfterDate",
            "required": false,
            "in": "query",
            "description": "Search to begin after the specified date - should contain the sort value of the last document",
            "anyOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_StartAfterNumberSchema"
              },
              {
                "$ref": "#/components/schemas/conversations_v3_StartAfterArrayNumberSchema"
              }
            ],
            "schema": {
              "example": 1600854,
              "type": "any"
            }
          },
          {
            "name": "id",
            "required": false,
            "in": "query",
            "description": "Id of the conversation",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit of conversations - Default is 20",
            "schema": {
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "lastMessageType",
            "required": false,
            "in": "query",
            "description": "Type of the last message in the conversation as a string",
            "schema": {
              "example": "TYPE_SMS",
              "enum": [
                "TYPE_CALL",
                "TYPE_SMS",
                "TYPE_RCS",
                "TYPE_EMAIL",
                "TYPE_SMS_REVIEW_REQUEST",
                "TYPE_WEBCHAT",
                "TYPE_SMS_NO_SHOW_REQUEST",
                "TYPE_CAMPAIGN_SMS",
                "TYPE_CAMPAIGN_CALL",
                "TYPE_CAMPAIGN_EMAIL",
                "TYPE_CAMPAIGN_VOICEMAIL",
                "TYPE_FACEBOOK",
                "TYPE_CAMPAIGN_FACEBOOK",
                "TYPE_CAMPAIGN_MANUAL_CALL",
                "TYPE_CAMPAIGN_MANUAL_SMS",
                "TYPE_GMB",
                "TYPE_CAMPAIGN_GMB",
                "TYPE_REVIEW",
                "TYPE_INSTAGRAM",
                "TYPE_WHATSAPP",
                "TYPE_CUSTOM_SMS",
                "TYPE_CUSTOM_EMAIL",
                "TYPE_CUSTOM_PROVIDER_SMS",
                "TYPE_CUSTOM_PROVIDER_EMAIL",
                "TYPE_IVR_CALL",
                "TYPE_ACTIVITY_CONTACT",
                "TYPE_ACTIVITY_INVOICE",
                "TYPE_ACTIVITY_PAYMENT",
                "TYPE_ACTIVITY_OPPORTUNITY",
                "TYPE_LIVE_CHAT",
                "TYPE_LIVE_CHAT_INFO_MESSAGE",
                "TYPE_ACTIVITY_APPOINTMENT",
                "TYPE_FACEBOOK_COMMENT",
                "TYPE_INSTAGRAM_COMMENT",
                "TYPE_CUSTOM_CALL",
                "TYPE_INTERNAL_COMMENT",
                "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
                "TYPE_TIKTOK",
                "TYPE_TIKTOK_COMMENT",
                "TYPE_ACTIVITY_WHATSAPP",
                "TYPE_FORM_SUBMISSION",
                "TYPE_SMS_REACTION"
              ],
              "type": "string"
            }
          },
          {
            "name": "lastMessageAction",
            "required": false,
            "in": "query",
            "description": "Action of the last outbound message in the conversation as string.",
            "schema": {
              "example": "manual",
              "enum": [
                "automated",
                "manual"
              ],
              "type": "string"
            }
          },
          {
            "name": "lastMessageDirection",
            "required": false,
            "in": "query",
            "description": "Direction of the last message in the conversation as string.",
            "schema": {
              "example": "inbound",
              "enum": [
                "inbound",
                "outbound"
              ],
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "The status of the conversation to be filtered - all, read, unread, starred ",
            "schema": {
              "example": "all",
              "enum": [
                "all",
                "read",
                "unread",
                "starred",
                "recents"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "required": false,
            "in": "query",
            "description": "The sorting of the conversation to be filtered as - manual messages or all messages",
            "schema": {
              "example": "last_message_date",
              "enum": [
                "last_manual_message_date",
                "last_message_date",
                "score_profile",
                "overdue_at",
                "due_at"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortScoreProfile",
            "required": false,
            "in": "query",
            "description": "Id of score profile on which sortBy.ScoreProfile should sort on",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "string"
            }
          },
          {
            "name": "scoreProfile",
            "required": false,
            "in": "query",
            "description": "Id of score profile on which conversations should get filtered out, works with scoreProfileMin & scoreProfileMax",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "string"
            }
          },
          {
            "name": "scoreProfileMin",
            "required": false,
            "in": "query",
            "description": "Minimum value for score",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "number"
            }
          },
          {
            "name": "scoreProfileMax",
            "required": false,
            "in": "query",
            "description": "Maximum value for score",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "number"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "Start date filter for dateAdded field (Unix timestamp in milliseconds)",
            "schema": {
              "example": 1640995200000,
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "End date filter for dateAdded field (Unix timestamp in milliseconds)",
            "schema": {
              "example": 1672531199000,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully fetched the conversations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_SendConversationResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "bearer": [
              "conversations.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/{conversationId}": {
      "get": {
        "operationId": "get-conversation",
        "summary": "Get Conversation",
        "description": "Get the conversation details based on the conversation ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "conversationId",
            "required": true,
            "in": "path",
            "description": "Conversation ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_GetConversationByIdResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Conversations"
        ],
        "security": [
          {
            "bearer": [
              "conversations.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-conversation",
        "summary": "Update Conversation",
        "description": "Update the conversation details based on the conversation ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "conversationId",
            "required": true,
            "in": "path",
            "description": "Conversation ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_UpdateConversationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_GetConversationSuccessfulResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Conversations"
        ],
        "security": [
          {
            "bearer": [
              "conversations.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-conversation",
        "summary": "Delete Conversation",
        "description": "Delete the conversation details based on the conversation ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "conversationId",
            "required": true,
            "in": "path",
            "description": "Conversation ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_DeleteConversationSuccessfulResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Conversations"
        ],
        "security": [
          {
            "bearer": [
              "conversations.write"
            ]
          }
        ]
      }
    },
    "/conversations/preferences/custom-subtypes": {
      "get": {
        "operationId": "get-all-custom-subtypes",
        "summary": "Get All Custom Subtypes",
        "description": "Get all custom subtypes for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Preference Management"
        ]
      },
      "post": {
        "operationId": "create-custom-subtype",
        "summary": "Create Custom Subtype",
        "description": "Create a new custom subtype for a location. Requires agency or account admin role.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_CreateCustomSubtypeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Preference Management"
        ]
      }
    },
    "/conversations/preferences/custom-subtypes/{id}": {
      "put": {
        "operationId": "update-custom-subtype",
        "summary": "Update Custom Subtype",
        "description": "Update or archive a custom subtype. Requires agency or account admin role.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Subtype Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_UpdateCustomSubtypeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Preference Management"
        ]
      }
    },
    "/conversations/preferences/unsubscriptions/status": {
      "get": {
        "operationId": "get-contact-unsubscription-status",
        "summary": "Get Contact Unsubscription Status",
        "description": "Get all subscription statuses for a contact (all emails or specific email)",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "query",
            "description": "Contact Id",
            "schema": {
              "example": "OP7z4LCyPACyH5fcEIZa",
              "type": "string"
            }
          },
          {
            "name": "email",
            "required": false,
            "in": "query",
            "description": "Email address (optional - if not provided, gets all emails for contact)",
            "schema": {
              "example": "user@example.com",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Preference Management"
        ]
      }
    },
    "/conversations/preferences/unsubscriptions/user-change": {
      "post": {
        "operationId": "user-subscription-change",
        "summary": "User Subscription Change",
        "description": "Process subscription change initiated by a user (admin/agent). Supports individual custom subscription changes and resub all functionality. Legal forms are automatically created for user-initiated resubscribe actions on custom subscriptions.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_UserSubscriptionChangeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Preference Management"
        ]
      }
    },
    "/conversations/messages/email/{id}": {
      "get": {
        "operationId": "get-email-by-id",
        "summary": "Get email by Id",
        "description": "Get email by Id",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Email object for the id given.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_GetEmailMessageResponseDto"
                }
              }
            }
          }
        },
        "tags": [
          "Email"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/messages/email/{emailMessageId}/schedule": {
      "delete": {
        "operationId": "cancel-scheduled-email-message",
        "summary": "Cancel a scheduled email message.",
        "description": "Post the messageId for the API to delete a scheduled email message. <br />",
        "parameters": [
          {
            "name": "emailMessageId",
            "required": true,
            "in": "path",
            "description": "Email Message Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The scheduled email message was cancelled successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_CancelScheduledResponseDto"
                }
              }
            }
          }
        },
        "tags": [
          "Email"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/export": {
      "get": {
        "operationId": "export-messages-by-location",
        "summary": "Export messages by location ID",
        "description": "Export messages for a specific location with cursor-based pagination support. Response includes messageType (string), source, and subType fields. The channel parameter is optional - if not provided, all non-email message types will be returned including activity messages (opportunity updates, appointments, etc.).",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID to filter messages by",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of messages to return per page",
            "schema": {
              "minimum": 10,
              "maximum": 500,
              "default": 100,
              "type": "number",
              "example": 100
            }
          },
          {
            "name": "cursor",
            "required": false,
            "in": "query",
            "description": "Cursor for pagination. Pass the nextCursor from previous response to get next page.",
            "schema": {
              "example": "a748514c-f49e-4fa8-9954-b53afc78d81d",
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "required": false,
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "default": "createdAt",
              "enum": [
                "createdAt",
                "updatedAt"
              ],
              "type": "string",
              "example": "createdAt"
            }
          },
          {
            "name": "sortOrder",
            "required": false,
            "in": "query",
            "description": "Sort order",
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "example": "desc"
            }
          },
          {
            "name": "conversationId",
            "required": false,
            "in": "query",
            "description": "Filter messages by conversation ID",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Filter messages by contact ID",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          },
          {
            "name": "channel",
            "required": false,
            "in": "query",
            "description": "Filter by message channel. Optional - when not provided, all non-email message types will be returned including activity messages (opportunity updates, appointments, etc.). To fetch email messages, you must explicitly set channel=Email.",
            "schema": {
              "enum": [
                "Call",
                "SMS",
                "Email",
                "WhatsApp",
                "Instagram",
                "Facebook"
              ],
              "type": "string",
              "example": "SMS"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "Start date to filter messages by",
            "schema": {
              "type": "string",
              "example": "2024-03-27T00:00:00.000Z"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "End date to filter messages by",
            "schema": {
              "type": "string",
              "example": "2024-03-28T00:00:00.000Z"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of messages for the location with pagination details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_ExportMessagesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/messages/{id}": {
      "get": {
        "operationId": "get-message",
        "summary": "Get message by message id",
        "description": "Get message by message id.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Message object for the id given.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_GetMessageResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/{conversationId}/messages": {
      "get": {
        "operationId": "get-messages",
        "summary": "Get messages by conversation id",
        "description": "Get messages by conversation id.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "conversationId",
            "required": true,
            "in": "path",
            "description": "Conversation ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "lastMessageId",
            "required": false,
            "in": "query",
            "description": "Message ID of the last message in the list as a string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of messages to be fetched from the conversation. Default limit is 20",
            "schema": {
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Types of message to fetched separated with comma",
            "schema": {
              "example": "TYPE_SMS,TYPE_CALL",
              "enum": [
                "TYPE_CALL",
                "TYPE_SMS",
                "TYPE_RCS",
                "TYPE_EMAIL",
                "TYPE_FACEBOOK",
                "TYPE_GMB",
                "TYPE_INSTAGRAM",
                "TYPE_WHATSAPP",
                "TYPE_ACTIVITY_APPOINTMENT",
                "TYPE_ACTIVITY_CONTACT",
                "TYPE_ACTIVITY_INVOICE",
                "TYPE_ACTIVITY_PAYMENT",
                "TYPE_ACTIVITY_OPPORTUNITY",
                "TYPE_LIVE_CHAT",
                "TYPE_INTERNAL_COMMENTS",
                "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
                "TYPE_TIKTOK",
                "TYPE_ACTIVITY_WHATSAPP",
                "TYPE_FORM_SUBMISSION"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of messages for the conversation id of the given type.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_GetMessagesByConversationResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/messages": {
      "post": {
        "operationId": "send-a-new-message",
        "summary": "Send a new message",
        "description": "Post the necessary fields for the API to send a new message.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_SendMessageBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created the message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_SendMessageResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/inbound": {
      "post": {
        "operationId": "add-an-inbound-message",
        "summary": "Add an inbound message",
        "description": "Post the necessary fields for the API to add a new inbound message. <br />",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_ProcessMessageBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created the message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_ProcessMessageResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/outbound": {
      "post": {
        "operationId": "add-an-outbound-message",
        "summary": "Add an external outbound call",
        "description": "Post the necessary fields for the API to add a new outbound call.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_ProcessOutboundMessageBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created the message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_ProcessMessageResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/review-reply": {
      "post": {
        "operationId": "send-review-reply",
        "summary": "Send a review reply to Google My Business",
        "description": "Post a reply to a customer review on Google My Business\n\nThis endpoint is internal-only and is not supported for OAuth or public API integrations. It will be removed from the public OpenAPI specification in a future release.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_SendReviewReplyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Review reply sent successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_SendMessageResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ],
        "deprecated": true
      }
    },
    "/conversations/messages/{messageId}/schedule": {
      "delete": {
        "operationId": "cancel-scheduled-message",
        "summary": "Cancel a scheduled message.",
        "description": "Post the messageId for the API to delete a scheduled message. <br />",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "path",
            "description": "Message Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The scheduled message was cancelled successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_CancelScheduledResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/upload": {
      "post": {
        "operationId": "upload-file-attachments",
        "summary": "Upload file attachments",
        "description": "Post the necessary fields for the API to upload files. The files need to be a buffer with the key \"fileAttachment\". <br /><br /> The allowed file types are: <br/> <ul><li>JPG</li><li>JPEG</li><li>PNG</li><li>MP4</li><li>MPEG</li><li>ZIP</li><li>RAR</li><li>PDF</li><li>DOC</li><li>DOCX</li><li>TXT</li><li>MP3</li><li>WAV</li></ul> <br /><br /> The API will return an object with the URLs",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_UploadFilesDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Uploaded the file successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_UploadFilesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "413": {
            "description": "Payload Too Large",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_UploadFilesErrorResponseDto"
                }
              }
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_UploadFilesErrorResponseDto"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/upload/initiate": {
      "post": {
        "operationId": "initiate-file-upload",
        "summary": "Initiate file upload to GCS",
        "description": "Generates a signed URL for direct file upload to Google Cloud Storage. Returns a signed URL valid for 15 minutes. Upload file via PUT request, then call /complete to finalize.\n\nThis endpoint is internal-only and is not supported for OAuth or public API integrations. It will be removed from the public OpenAPI specification in a future release.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_InitiateFileUploadDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Signed URL generated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_InitiateFileUploadResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid parameters"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "413": {
            "description": "File size exceeds maximum allowed limit"
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ],
        "deprecated": true
      }
    },
    "/conversations/messages/upload/complete": {
      "post": {
        "operationId": "complete-file-upload",
        "summary": "Complete file upload",
        "description": "Validates the uploaded file in GCS and returns the public URL. Call this endpoint after successfully uploading the file to the signed URL.\n\nThis endpoint is internal-only and is not supported for OAuth or public API integrations. It will be removed from the public OpenAPI specification in a future release.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_CompleteFileUploadDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Upload completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_CompleteFileUploadResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid parameters"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "File not found in storage - upload may have failed or URL expired"
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ],
        "deprecated": true
      }
    },
    "/conversations/messages/{messageId}/status": {
      "put": {
        "operationId": "update-message-status",
        "summary": "Update message status",
        "description": "Post the necessary fields for the API to update message status.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "path",
            "description": "Message Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_UpdateMessageStatusDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created the message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_SendMessageResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/{messageId}/attachments": {
      "put": {
        "operationId": "add-message-attachments",
        "summary": "Add message attachments",
        "description": "Set attachments on an existing message (replaces existing). Maximum 5 URLs. Supported for TYPE_CUSTOM_CALL (34) and TYPE_CALL (1) with subType EXTERNAL_CALL.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "path",
            "description": "Message Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_AddMessageAttachmentsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully set message attachments"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Message type does not support attachment updates"
          },
          "404": {
            "description": "Message not found"
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/{messageId}/locations/{locationId}/recording": {
      "get": {
        "operationId": "get-message-recording",
        "summary": "Get Recording by Message ID",
        "description": "Get the recording for a message by passing the message id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "path",
            "description": "Message ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Gives the attached recording to the message",
            "headers": {
              "Content-Type": {
                "description": "audio/x-wav"
              },
              "Content-Disposition": {
                "description": "Attachment; filename=audio.wav"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          },
          {
            "Location-Access": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/locations/{locationId}/messages/{messageId}/transcription": {
      "get": {
        "operationId": "get-message-transcription",
        "summary": "Get transcription by Message ID",
        "description": "Get the recording transcription for a message by passing the message id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "path",
            "description": "Message ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Gives the attached recording transcription to the message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_GetMessageTranscriptionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          },
          {
            "Location-Access": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/locations/{locationId}/messages/{messageId}/transcription/download": {
      "get": {
        "operationId": "download-message-transcription",
        "summary": "Download transcription by Message ID",
        "description": "Download the recording transcription for a message by passing the message id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "messageId",
            "required": true,
            "in": "path",
            "description": "Message ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Downloads the attached transcription of the message",
            "headers": {
              "Content-Type": {
                "description": "text/plain"
              },
              "Content-Disposition": {
                "description": "Attachment; filename=\"transcription.txt\""
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Messages"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.readonly"
            ]
          },
          {
            "Location-Access": [
              "conversations/message.readonly"
            ]
          }
        ]
      }
    },
    "/conversations/providers/live-chat/typing": {
      "post": {
        "operationId": "live-chat-agent-typing",
        "summary": "Agent/Ai-Bot is typing a message indicator for live chat",
        "description": "Agent/AI-Bot will call this when they are typing a message in live chat message",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_UserTypingBody"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Show typing indicator for live chat",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_CreateLiveChatMessageFeedbackResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Providers"
        ],
        "security": [
          {
            "Location-Access": [
              "conversations/livechat.write"
            ]
          }
        ]
      }
    },
    "/conversations/": {
      "post": {
        "operationId": "create-conversation",
        "summary": "Create Conversation",
        "description": "Creates a new conversation with the data provided",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_CreateConversationDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_CreateConversationSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Conversations"
        ],
        "security": [
          {
            "bearer": [
              "conversations.write"
            ]
          }
        ]
      }
    },
    "/courses/courses-exporter/public/import": {
      "post": {
        "operationId": "import-courses",
        "summary": "Import Courses",
        "description": "Import Courses through public channels",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/courses_v3_PublicExporterPayload"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/custom-fields/{id}": {
      "get": {
        "operationId": "get-custom-field-by-id",
        "summary": "Get Custom Field / Folder By Id",
        "description": "<div>\n<p> Get Custom Field / Folder By Id.</p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_CustomFieldSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-custom-field",
        "summary": "Update Custom Field By Id",
        "description": "<div>\n <p> Update Custom Field By Id </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_fields_v3_UpdateCustomFieldsDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_CustomFieldSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-custom-field",
        "summary": "Delete Custom Field By Id",
        "description": "<div>\n <p> Delete Custom Field By Id </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_CustomFolderDeleteResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      }
    },
    "/custom-fields/object-key/{objectKey}": {
      "get": {
        "operationId": "get-custom-fields-by-object-key",
        "summary": "Get Custom Fields By Object Key",
        "description": "<div>\n <p> Get Custom Fields By Object Key </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "objectKey",
            "required": true,
            "in": "path",
            "description": "key of the Object. Must include \"custom_objects.\" prefix for custom objects. Available on the Custom Objects details Page under settings",
            "example": "custom_objects.pet",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "Location Id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_CustomFieldsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.readonly"
            ]
          }
        ]
      }
    },
    "/custom-fields/folder": {
      "post": {
        "operationId": "create-custom-field-folder",
        "summary": "Create Custom Field Folder",
        "description": "<div>\n <p> Create Custom Field Folder </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_fields_v3_CreateFolder"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_ICustomFieldFolder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      }
    },
    "/custom-fields/folder/{id}": {
      "put": {
        "operationId": "update-custom-field-folder",
        "summary": "Update Custom Field Folder Name",
        "description": "<div>\n <p> Create Custom Field Folder </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_fields_v3_UpdateFolder"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_ICustomFieldFolder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-custom-field-folder",
        "summary": "Delete Custom Field Folder",
        "description": "<div>\n<p> Create Custom Field Folder </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_CustomFolderDeleteResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      }
    },
    "/custom-fields/": {
      "post": {
        "operationId": "create-custom-field",
        "summary": "Create Custom Field",
        "description": "<div>\n<p> Create Custom Field </p> \n </div> \n :::info\n Only supports Custom Objects and Company (Business) today. Will be extended to other Standard Objects in the future.\n :::",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_fields_v3_CreateCustomFieldsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_fields_v3_CustomFieldSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Fields V2"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      }
    },
    "/custom-menus/{customMenuId}": {
      "get": {
        "operationId": "get-custom-menu-by-id",
        "summary": "Get Custom Menu Link",
        "description": "Fetches a single custom menus based on id. This endpoint allows clients to retrieve custom menu configurations, which may include menu items, categories, and associated metadata",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "customMenuId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the custom menu",
            "schema": {
              "example": "62e589c1-c456-47e1-a9a7-cb8900014311",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved custom menu. Returns a single custom menu object, potentially including its structure, items, and relevant metadata.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_menus_v3_GetSingleCustomMenusSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Invalid query parameters provided."
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The client does not have necessary permissions to access custom menu."
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Menu Links"
        ],
        "security": [
          {
            "Agency-Access": [
              "custom-menu-link.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-custom-menu",
        "summary": "Delete Custom Menu Link",
        "description": "Removes a specific custom menu from the system. This operation requires authentication and proper permissions. The custom menu is identified by its unique ID, and the operation is performed within the context of a specific company.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "customMenuId",
            "required": true,
            "in": "path",
            "description": "ID of the custom menu to delete",
            "schema": {
              "example": "62e589c1-c456-47e1-a9a7-cb8900014311",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Custom menu successfully deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_menus_v3_DeleteCustomMenuSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Invalid parameters provided."
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The client does not have necessary permissions to delete this custom menu."
          },
          "404": {
            "description": "Not Found. The specified custom menu does not exist or has already been deleted."
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Menu Links"
        ],
        "security": [
          {
            "Agency-Access": [
              "custom-menu-link.write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-custom-menu",
        "summary": "Update Custom Menu Link",
        "description": "Updates an existing custom menu for a given company. Requires authentication and proper permissions.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "customMenuId",
            "required": true,
            "in": "path",
            "description": "ID of the custom menu to update",
            "schema": {
              "example": "62e589c1-c456-47e1-a9a7-cb8900014311",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_menus_v3_UpdateCustomMenuDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Custom menu successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_menus_v3_UpdateCustomMenuLinkResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid input"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Insufficient permissions"
          },
          "404": {
            "description": "Not Found - Custom menu or company not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Menu Links"
        ],
        "security": [
          {
            "Agency-Access": [
              "custom-menu-link.write"
            ]
          }
        ]
      }
    },
    "/custom-menus/": {
      "get": {
        "operationId": "get-custom-menus",
        "summary": "Get Custom Menu Links",
        "description": "Fetches a collection of custom menus based on specified criteria. This endpoint allows clients to retrieve custom menu configurations, which may include menu items, categories, and associated metadata. The response can be tailored using query parameters for filtering, sorting, and pagination.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "Unique identifier of the location",
            "schema": {
              "example": "5DP4iH6HLkQsiKESj6rh",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of items to skip for pagination",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of items to return",
            "schema": {
              "minimum": 1,
              "default": 20,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search query to filter custom menus by name, supports partial || full names",
            "schema": {
              "example": "custom-menu-link-name",
              "type": "string"
            }
          },
          {
            "name": "showOnCompany",
            "required": false,
            "in": "query",
            "description": "Filter to show only agency-level menu links. When omitted, fetches both agency and sub-account menu links. Ignored if locationId is provided",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved custom menus. Returns an array of custom menu objects, potentially including their structure, items, and relevant metadata.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_menus_v3_GetCustomMenusResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Invalid query parameters provided."
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The client does not have necessary permissions to access custom menus."
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Menu Links"
        ],
        "security": [
          {
            "Agency-Access": [
              "custom-menu-link.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-custom-menu",
        "summary": "Create Custom Menu Link",
        "description": "Creates a new custom menu for a company. Requires authentication and proper permissions. For Icon Usage Details please refer to  https://doc.clickup.com/8631005/d/h/87cpx-243696/d60fa70db6b92b2",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_menus_v3_CreateCustomMenuDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Custom menu successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_menus_v3_GetSingleCustomMenusSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid input"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Insufficient permissions"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Menu Links"
        ],
        "security": [
          {
            "Agency-Access": [
              "custom-menu-link.write"
            ]
          }
        ]
      }
    },
    "/email/verify": {
      "post": {
        "operationId": "verify-email",
        "x-version-added": "v3",
        "summary": "Email Verification",
        "description": "Verify Email",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id, The email verification charges will be deducted from this location (if rebilling is enabled) / company wallet",
            "schema": {
              "example": "5DP4iH6HLkQsiKESj6rh",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/email_isv_v3_VerificationBodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/email_isv_v3_EmailVerifiedV3ResponseDto"
                    },
                    {
                      "$ref": "#/components/schemas/email_isv_v3_EmailNotVerifiedResponseDto"
                    },
                    {
                      "$ref": "#/components/schemas/EmailProviderRecommendationDto"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Email Verification"
        ],
        "security": [
          {
            "Location-Access": [
              "crm-email.readonly"
            ]
          }
        ]
      }
    },
    "/emails/schedule": {
      "get": {
        "operationId": "fetch-campaigns",
        "summary": "Get Campaigns",
        "description": "Get Campaigns",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ohjiah0wdg3bzmzacvd6",
            "description": "Location ID to fetch campaigns from",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": "7",
            "description": "Maximum number of campaigns to return. Defaults to 10, maximum is 100",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "example": "0",
            "description": "Number of campaigns to skip for pagination",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter by schedule status",
            "schema": {
              "default": "active",
              "enum": [
                "active",
                "pause",
                "complete",
                "cancelled",
                "retry",
                "draft",
                "resend-scheduled"
              ],
              "type": "string"
            }
          },
          {
            "name": "emailStatus",
            "required": false,
            "in": "query",
            "description": "Filter by email delivery status",
            "schema": {
              "default": "complete",
              "enum": [
                "all",
                "not-started",
                "paused",
                "cancelled",
                "processing",
                "resumed",
                "next-drip",
                "complete",
                "success",
                "error",
                "waiting",
                "queued",
                "queueing",
                "reading",
                "scheduled"
              ],
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "example": "Black Friday Campaign",
            "description": "Filter campaigns by name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parentId",
            "required": false,
            "in": "query",
            "example": "folder123",
            "description": "Filter campaigns by parent folder ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limitedFields",
            "required": false,
            "default": false,
            "example": "false",
            "in": "query",
            "description": "When true, returns only essential campaign fields like id, templateDataDownloadUrl, updatedAt, type, templateType, templateId, downloadUrl and isPlainText. When false, returns complete campaign data including meta information, bulkRequestStatusInfo, ABTestInfo, resendScheduleInfo and all other campaign properties",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archived",
            "required": false,
            "example": "false",
            "in": "query",
            "description": "Filter archived campaigns",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "campaignsOnly",
            "required": false,
            "default": false,
            "example": "false",
            "in": "query",
            "description": "Return only campaigns, excluding folders",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "showStats",
            "required": false,
            "default": true,
            "example": "true",
            "in": "query",
            "description": "When true, returns campaign statistics including delivered count, opened count, clicked count and revenue if available for the campaign. When false, returns campaign data without statistics.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_ScheduleFetchSuccessfulDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "emails/schedule.readonly"
            ]
          }
        ],
        "tags": [
          "Campaigns"
        ]
      }
    },
    "/emails/builder": {
      "post": {
        "operationId": "create-template",
        "summary": "Create a new template",
        "description": "Create a new template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_CreateBuilderDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_CreateBuilderSuccesfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "emails/builder.write"
            ]
          }
        ],
        "tags": [
          "Templates"
        ]
      },
      "get": {
        "operationId": "fetch-template",
        "summary": "Fetch email templates",
        "description": "Fetch email templates by location id",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "default": 10,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "default": 0,
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "sortByDate",
            "required": false,
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "name": "archived",
            "required": false,
            "in": "query",
            "schema": {
              "default": false,
              "type": "string"
            }
          },
          {
            "name": "builderVersion",
            "required": false,
            "in": "query",
            "schema": {
              "default": "2",
              "enum": [
                "1",
                "2"
              ],
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "schema": {
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "parentId",
            "required": false,
            "in": "query",
            "schema": {
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "originId",
            "required": false,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "templatesOnly",
            "required": false,
            "in": "query",
            "schema": {
              "default": false,
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_FetchBuilderSuccesfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "emails/builder.readonly"
            ]
          }
        ],
        "tags": [
          "Templates"
        ]
      }
    },
    "/emails/builder/{locationId}/{templateId}": {
      "delete": {
        "operationId": "delete-template",
        "summary": "Delete a template",
        "description": "Delete a template",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "example": "zYy3YOUuHxgomU1uYJty",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_DeleteBuilderSuccesfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          }
        ],
        "tags": [
          "Templates"
        ]
      }
    },
    "/emails/builder/data": {
      "post": {
        "operationId": "update-template",
        "summary": "Update a template",
        "description": "Update a template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_SaveBuilderDataDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_BuilderUpdateSuccessfulDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "emails/builder.write"
            ]
          }
        ],
        "tags": [
          "Templates"
        ]
      }
    },
    "/forms/submissions": {
      "get": {
        "operationId": "get-forms-submissions",
        "summary": "Get Forms Submissions",
        "description": "Get Forms Submissions",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "example": 1,
            "description": "Page No. By default it will be 1",
            "schema": {
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": 20,
            "description": "Limit Per Page records count. will allow maximum up to 100 and default will be 20",
            "schema": {
              "default": 20,
              "type": "number"
            }
          },
          {
            "name": "formId",
            "required": false,
            "in": "query",
            "example": "jjusM6EOngDExnbo2DbU",
            "description": "Filter submission by form id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "required": false,
            "in": "query",
            "example": "john@deo.com",
            "description": "Filter by contactId, name, email or phone no.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "example": "2020-11-14",
            "description": "Get submission by starting of this date. By default it will be same date of last month(YYYY-MM-DD).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "example": "2020-12-14",
            "description": "Get submission by ending of this date. By default it will be current date(YYYY-MM-DD).",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/forms_v3_FormsSubmissionsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Forms"
        ],
        "security": [
          {
            "bearer": [
              "forms.readonly"
            ]
          }
        ]
      }
    },
    "/forms/upload-custom-files": {
      "post": {
        "operationId": "upload-to-custom-fields",
        "summary": "Upload files to custom fields",
        "description": "Post the necessary fields for the API to upload files. The files need to be a buffer with the key \"< custom_field_id >_< file_id >\". <br /> Here custom field id is the ID of your custom field and file id is a randomly generated id (or uuid) <br /> There is support for multiple file uploads as well. Have multiple fields in the format mentioned.<br />File size is limited to 50 MB.<br /><br /> The allowed file types are: <br/> <ul><li>PDF</li><li>DOCX</li><li>DOC</li><li>JPG</li><li>JPEG</li><li>PNG</li><li>GIF</li><li>CSV</li><li>XLSX</li><li>XLS</li><li>MP4</li><li>MPEG</li><li>ZIP</li><li>RAR</li><li>TXT</li><li>SVG</li></ul> <br /><br /> The API will return the updated contact object.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "query",
            "example": "dtEv6KtI27yF92YPm3Zz",
            "description": "Contact ID to upload the file to.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "quXmPY59n1zgGBabY1bZ",
            "description": "Location ID of the contact.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {}
          }
        },
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Forms"
        ],
        "security": [
          {
            "bearer": [
              "forms.write"
            ]
          },
          {
            "Location-Access": [
              "forms.write"
            ]
          }
        ]
      }
    },
    "/forms/": {
      "get": {
        "operationId": "get-forms",
        "summary": "Get Forms",
        "description": "Get Forms",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "example": 0,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": 20,
            "description": "Limit Per Page records count. will allow maximum up to 50 and default will be 10",
            "schema": {
              "default": 10,
              "type": "number"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "example": "folder",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/forms_v3_FormsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Forms"
        ],
        "security": [
          {
            "bearer": [
              "forms.readonly"
            ]
          }
        ]
      }
    },
    "/funnels/lookup/redirect": {
      "post": {
        "operationId": "create-redirect",
        "summary": "Create Redirect",
        "description": "The \"Create Redirect\" API Allows adding a new url redirect to the system. Use this endpoint to create a url redirect with the specified details. Ensure that the required information is provided in the request payload.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/funnels_v3_CreateRedirectParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_CreateRedirectResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Redirect"
        ],
        "security": [
          {
            "Location-Access": [
              "funnels/redirect.write"
            ]
          }
        ]
      }
    },
    "/funnels/lookup/redirect/{id}": {
      "patch": {
        "operationId": "update-redirect-by-id",
        "summary": "Update Redirect By Id",
        "description": "The \"Update Redirect By Id\" API Allows updating an existing URL redirect in the system. Use this endpoint to modify a URL redirect with the specified ID using details provided in the request payload.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/funnels_v3_UpdateRedirectParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_UpdateRedirectResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Redirect"
        ],
        "security": [
          {
            "Location-Access": [
              "funnels/redirect.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-redirect-by-id",
        "summary": "Delete Redirect By Id",
        "description": "The \"Delete Redirect By Id\" API Allows deletion of a URL redirect from the system using its unique identifier. Use this endpoint to delete a URL redirect with the specified ID using details provided in the request payload.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "6p2RxpgtMKQwO3E6IUaT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response - URL redirect deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_DeleteRedirectResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity - The provided data is invalid or incomplete"
          }
        },
        "tags": [
          "Redirect"
        ],
        "security": [
          {
            "Location-Access": [
              "funnels/redirect.write"
            ]
          }
        ]
      }
    },
    "/funnels/lookup/redirect/list": {
      "get": {
        "operationId": "fetch-redirects-list",
        "summary": "Fetch List of Redirects",
        "description": "Retrieves a list of all URL redirects based on the given query parameters.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "6p2RxpgtMKQwO3E6IUaT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "example": 20,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "example": 10,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "example": "example.com/test",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response - List of URL redirects returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_RedirectListResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity - The provided data is invalid or incomplete"
          }
        },
        "tags": [
          "Redirect"
        ],
        "security": [
          {
            "Location-Access": [
              "funnels/redirect.readonly"
            ]
          }
        ]
      }
    },
    "/funnels/funnel/list": {
      "get": {
        "operationId": "getFunnels",
        "summary": "Fetch List of Funnels",
        "description": "Retrieves a list of all funnels based on the given query parameters.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parentId",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response - List of funnels returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_FunnelListResponseDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Funnel"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/funnels/page": {
      "get": {
        "operationId": "getPagesByFunnelId",
        "summary": "Fetch list of funnel pages",
        "description": "Retrieves a list of all funnel pages based on the given query parameters.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "funnelId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response - List of funnel pages returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_FunnelPageResponseDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Funnel"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/funnels/page/count": {
      "get": {
        "operationId": "getPagesCountByFunnelId",
        "summary": "Fetch count of funnel pages",
        "description": "Retrieves count of all funnel pages based on the given query parameters.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "funnelId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response - Count of funnel pages returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/funnels_v3_FunnelPageCountResponseDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Funnel"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/invoices/template": {
      "post": {
        "operationId": "create-invoice-template",
        "summary": "Create template",
        "description": "API to create a template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_CreateInvoiceTemplateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_CreateInvoiceTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/template.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/template.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-invoice-templates",
        "summary": "List templates",
        "description": "API to get list of templates",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "status to be filtered",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "startAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "endAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "To search for an invoice by id / name / email / phoneNo",
            "schema": {
              "example": "Alex",
              "type": "string"
            }
          },
          {
            "name": "paymentMode",
            "required": false,
            "in": "query",
            "description": "payment mode",
            "schema": {
              "example": "live",
              "enum": [
                "default",
                "live",
                "test"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit the number of items to return",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Number of items to skip",
            "schema": {
              "example": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_ListTemplatesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/template.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/template.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/template/{templateId}": {
      "get": {
        "operationId": "get-invoice-template",
        "summary": "Get an template",
        "description": "API to get an template by template id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_GetTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/template.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/template.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-invoice-template",
        "summary": "Update template",
        "description": "API to update an template by template id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceTemplateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/template.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/template.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-invoice-template",
        "summary": "Delete template",
        "description": "API to update an template by template id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_DeleteInvoiceTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/template.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/template.write"
            ]
          }
        ]
      }
    },
    "/invoices/template/{templateId}/late-fees-configuration": {
      "patch": {
        "operationId": "update-invoice-template-late-fees-configuration",
        "summary": "Update template late fees configuration",
        "description": "API to update template late fees configuration by template id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceLateFeesConfigurationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/invoices/template/{templateId}/payment-methods-configuration": {
      "patch": {
        "operationId": "update-invoice-payment-methods-configuration",
        "summary": "Update template late fees configuration",
        "description": "API to update template late fees configuration by template id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdatePaymentMethodsConfigurationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/invoices/schedule": {
      "post": {
        "operationId": "create-invoice-schedule",
        "summary": "Create Invoice Schedule",
        "description": "API to create an invoice Schedule",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_CreateInvoiceScheduleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_CreateInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-invoice-schedules",
        "summary": "List schedules",
        "description": "API to get list of schedules",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "status to be filtered",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "startAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "endAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "To search for an invoice by id / name / email / phoneNo",
            "schema": {
              "example": "Alex",
              "type": "string"
            }
          },
          {
            "name": "paymentMode",
            "required": false,
            "in": "query",
            "description": "payment mode",
            "schema": {
              "example": "live",
              "enum": [
                "default",
                "live",
                "test"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit the number of items to return",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Number of items to skip",
            "schema": {
              "example": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_ListSchedulesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/schedule/{scheduleId}": {
      "get": {
        "operationId": "get-invoice-schedule",
        "summary": "Get an schedule",
        "description": "API to get an schedule by schedule id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_GetScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-invoice-schedule",
        "summary": "Update schedule",
        "description": "API to update an schedule by schedule id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceScheduleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-invoice-schedule",
        "summary": "Delete schedule",
        "description": "API to delete an schedule by schedule id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_DeleteInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      }
    },
    "/invoices/schedule/{scheduleId}/updateAndSchedule": {
      "post": {
        "operationId": "update-and-schedule-invoice-schedule",
        "summary": "Update scheduled recurring invoice",
        "description": "API to update scheduled recurring invoice",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateAndScheduleInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      }
    },
    "/invoices/schedule/{scheduleId}/schedule": {
      "post": {
        "operationId": "schedule-invoice-schedule",
        "summary": "Schedule an schedule invoice",
        "description": "API to schedule an schedule invoice to start sending to the customer",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_ScheduleInvoiceScheduleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_ScheduleInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      }
    },
    "/invoices/schedule/{scheduleId}/auto-payment": {
      "post": {
        "operationId": "auto-payment-invoice-schedule",
        "summary": "Manage Auto payment for an schedule invoice",
        "description": "API to manage auto payment for a schedule",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_AutoPaymentScheduleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_AutoPaymentInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      }
    },
    "/invoices/schedule/{scheduleId}/cancel": {
      "post": {
        "operationId": "cancel-invoice-schedule",
        "summary": "Cancel an scheduled invoice",
        "description": "API to cancel a scheduled invoice by schedule id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "scheduleId",
            "required": true,
            "in": "path",
            "description": "Schedule Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_CancelInvoiceScheduleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_CancelInvoiceScheduleResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Schedule"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/schedule.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/schedule.write"
            ]
          }
        ]
      }
    },
    "/invoices/text2pay": {
      "post": {
        "operationId": "text2pay-invoice",
        "summary": "Create & Send",
        "description": "API to create or update a text2pay invoice",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_Text2PayDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_Text2PayInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Text2Pay"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          }
        ]
      }
    },
    "/invoices/generate-invoice-number": {
      "get": {
        "operationId": "generate-invoice-number",
        "summary": "Generate Invoice Number",
        "description": "Get the next invoice number for the given location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_GenerateInvoiceNumberResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/settings": {
      "get": {
        "operationId": "get-invoice-settings",
        "summary": "Get Invoice Settings",
        "description": "Get the invoice settings for the given location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_GetInvoiceSettingsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/{invoiceId}": {
      "get": {
        "operationId": "get-invoice",
        "summary": "Get invoice",
        "description": "API to get invoice by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_GetInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-invoice",
        "summary": "Update invoice",
        "description": "API to update invoice by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-invoice",
        "summary": "Delete invoice",
        "description": "API to delete invoice by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_DeleteInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "UnableToFindInvoiceResponse": {
                    "value": {
                      "statusCode": 400,
                      "message": "Unable to find an invoice with the given invoice id"
                    }
                  },
                  "DeleteDraftInvoiceBadResponse": {
                    "value": {
                      "statusCode": 400,
                      "message": "Invoice status need to be draft to delete an invoice"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices.write"
            ]
          }
        ]
      }
    },
    "/invoices/{invoiceId}/late-fees-configuration": {
      "patch": {
        "operationId": "update-invoice-late-fees-configuration",
        "summary": "Update invoice late fees configuration",
        "description": "API to update invoice late fees configuration by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceLateFeesConfigurationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_UpdateInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/invoices/{invoiceId}/void": {
      "post": {
        "operationId": "void-invoice",
        "summary": "Void invoice",
        "description": "API to delete invoice by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_VoidInvoiceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_VoidInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "UnableToFindInvoiceResponse": {
                    "value": {
                      "statusCode": 400,
                      "message": "Unable to find an invoice with the given invoice id"
                    }
                  },
                  "VoidDraftInvoiceBadResponse": {
                    "value": {
                      "statusCode": 400,
                      "message": "Can not void draft invoice. You can delete draft invoice!"
                    }
                  },
                  "VoidProviderInvoiceBadResponse": {
                    "value": {
                      "statusCode": 400,
                      "message": "To void an invoice which has received payment through the payment provider, the corresponding transaction needs to be refunded first"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices.write"
            ]
          }
        ]
      }
    },
    "/invoices/{invoiceId}/send": {
      "post": {
        "operationId": "send-invoice",
        "summary": "Send invoice",
        "description": "API to send invoice by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_SendInvoiceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_SendInvoicesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices.write"
            ]
          }
        ]
      }
    },
    "/invoices/{invoiceId}/record-payment": {
      "post": {
        "operationId": "record-invoice",
        "summary": "Record a manual payment for an invoice",
        "description": "API to record manual payment for an invoice by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "invoiceId",
            "required": true,
            "in": "path",
            "description": "Invoice Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_RecordPaymentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_RecordPaymentResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices.write"
            ]
          }
        ]
      }
    },
    "/invoices/stats/last-visited-at": {
      "patch": {
        "operationId": "update-invoice-last-visited-at",
        "summary": "Update invoice last visited at",
        "description": "API to update invoice last visited at by invoice id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_PatchInvoiceStatsLastViewedDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/invoices/estimate": {
      "post": {
        "operationId": "create-new-estimate",
        "summary": "Create New Estimate",
        "description": "Create a new estimate with the provided details",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_CreateEstimatesDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/{estimateId}": {
      "put": {
        "operationId": "update-estimate",
        "summary": "Update Estimate",
        "description": "Update an existing estimate with new details",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "estimateId",
            "required": true,
            "in": "path",
            "description": "Estimate Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_UpdateEstimateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-estimate",
        "summary": "Delete Estimate",
        "description": "Delete an existing estimate",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "estimateId",
            "required": true,
            "in": "path",
            "description": "Estimate Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_AltDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully Deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/number/generate": {
      "get": {
        "operationId": "generate-estimate-number",
        "summary": "Generate Estimate Number",
        "description": "Get the next estimate number for the given location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_GenerateEstimateNumberResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/{estimateId}/send": {
      "post": {
        "operationId": "send-estimate",
        "summary": "Send Estimate",
        "description": "API to send estimate by estimate id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "estimateId",
            "required": true,
            "in": "path",
            "description": "Estimate Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_SendEstimateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/{estimateId}/invoice": {
      "post": {
        "operationId": "create-invoice-from-estimate",
        "summary": "Create Invoice from Estimate",
        "description": "Create a new invoice from an existing estimate",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "estimateId",
            "required": true,
            "in": "path",
            "description": "Estimate Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_CreateInvoiceFromEstimateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_CreateInvoiceFromEstimateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/list": {
      "get": {
        "operationId": "list-estimates",
        "summary": "List Estimates",
        "description": "Get a paginated list of estimates",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "startAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "endAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "search text for estimates name",
            "schema": {
              "example": "Home services estimate",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "estimate status",
            "schema": {
              "example": "sent",
              "enum": [
                "all",
                "draft",
                "sent",
                "accepted",
                "declined",
                "invoiced",
                "viewed"
              ],
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact ID for the estimate",
            "schema": {
              "example": "AmuzcoPBpgKeccNsFlib",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit the number of items to return",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Number of items to skip",
            "schema": {
              "example": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_ListEstimatesResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/stats/last-visited-at": {
      "patch": {
        "operationId": "update-estimate-last-visited-at",
        "summary": "Update estimate last visited at",
        "description": "API to update estimate last visited at by estimate id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_EstimateIdParam"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/invoices/estimate/template": {
      "get": {
        "operationId": "list-estimate-templates",
        "summary": "List Estimate Templates",
        "description": "Get a list of estimate templates or a specific template by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "To search for an estimate template by id / name",
            "schema": {
              "example": "Alex",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit the number of items to return",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Number of items to skip",
            "schema": {
              "example": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_ListEstimateTemplateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-estimate-template",
        "summary": "Create Estimate Template",
        "description": "Create a new estimate template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_EstimateTemplatesDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateTemplateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/template/{templateId}": {
      "put": {
        "operationId": "update-estimate-template",
        "summary": "Update Estimate Template",
        "description": "Update an existing estimate template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_EstimateTemplatesDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateTemplateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-estimate-template",
        "summary": "Delete Estimate Template",
        "description": "Delete an existing estimate template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_AltDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateTemplateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.write"
            ]
          }
        ]
      }
    },
    "/invoices/estimate/template/preview": {
      "get": {
        "operationId": "preview-estimate-template",
        "summary": "Preview Estimate Template",
        "description": "Get a preview of an estimate template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "query",
            "description": "Template Id",
            "schema": {
              "example": "5f9d6d8b1b2d2c001f2d9e4b",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_EstimateTemplateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Estimate"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices/estimate.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices/estimate.readonly"
            ]
          }
        ]
      }
    },
    "/invoices/": {
      "post": {
        "operationId": "create-invoice",
        "summary": "Create Invoice",
        "description": "API to create an invoice",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoices_v3_CreateInvoiceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_CreateInvoiceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.write"
            ]
          },
          {
            "Agency-Access": [
              "invoices.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-invoices",
        "summary": "List invoices",
        "description": "API to get list of invoices",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "status to be filtered",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "startAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "endAt in YYYY-MM-DD format",
            "schema": {
              "example": "2023-01-01",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "To search for an invoice by id / name / email / phoneNo",
            "schema": {
              "example": "Alex",
              "type": "string"
            }
          },
          {
            "name": "paymentMode",
            "required": false,
            "in": "query",
            "description": "payment mode",
            "schema": {
              "example": "live",
              "enum": [
                "default",
                "live",
                "test"
              ],
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact ID for the invoice",
            "schema": {
              "example": "AmuzcoPBpgKeccNsFlib",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit the number of items to return",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Number of items to skip",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "sortField",
            "required": false,
            "in": "query",
            "description": "The field on which sorting should be applied",
            "schema": {
              "example": "issueDate",
              "enum": [
                "issueDate"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "required": false,
            "in": "query",
            "description": "The order of sort which should be applied for the sortField",
            "schema": {
              "example": "descend",
              "enum": [
                "ascend",
                "descend"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoices_v3_ListInvoicesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Invoice"
        ],
        "security": [
          {
            "Location-Access": [
              "invoices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "invoices.readonly"
            ]
          }
        ]
      }
    },
    "/knowledge-bases/faqs": {
      "get": {
        "operationId": "list",
        "summary": "Get all FAQs by knowledge base with pagination support",
        "description": "Retrieves FAQs for a knowledge base. Supports pagination using limit and lastFaqId parameters.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "knowledgeBaseId",
            "required": true,
            "in": "query",
            "description": "knowledge base ID as string",
            "schema": {
              "example": "710KoEzy793Fxubft0bc",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location ID as string",
            "schema": {
              "example": "qDZpF8GH3qvgJTmKCoL",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit the number of FAQs returned",
            "schema": {
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "lastFaqId",
            "required": false,
            "in": "query",
            "description": "Last FAQ ID for pagination (cursor-based)",
            "schema": {
              "example": "3rzeElC1FOVY91veVBkp",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "FAQs retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_ListFaqsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Faqs"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "post": {
        "operationId": "create",
        "summary": "Create a new FAQ inside knowledge base",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_AddFaqDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "FAQ created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_CreateFaqResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Faqs"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/faqs/{id}": {
      "put": {
        "operationId": "update",
        "summary": "Update an existing knowledge base FAQ",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "faq ID as string",
            "schema": {
              "example": "710KoEzy793Fxubft0bc",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_UpdateFaqBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "FAQ updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_UpdateFaqResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Faqs"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "delete",
        "summary": "Delete an existing knowledge base FAQ",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "faq ID as string",
            "schema": {
              "example": "710KoEzy793Fxubft0bc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "FAQ deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_DeleteFaqResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Faqs"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/crawler": {
      "get": {
        "operationId": "getAllWebsiteUrlsDataByKnowledgeBase",
        "summary": "Get all trained page links by knowledge base",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "knowledgeBaseId",
            "required": true,
            "in": "query",
            "description": "knowledge base ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page number",
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "pageLength",
            "required": false,
            "in": "query",
            "description": "Records per page",
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "query to filter on url links",
            "schema": {
              "example": "www.example.com/",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Trained page links retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_GetAllUrlsByKnowledgeBaseResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Web Crawler"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "post": {
        "operationId": "discoverWebsite",
        "summary": "Start crawling and discover pages for training",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_DiscoverWebsiteRequestDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Crawling and discovery started successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_DiscoverWebsiteResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Web Crawler"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "deleteTrainedUrlsForKnowledgeBase",
        "summary": "Delete trained pages",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_DeleteWebsiteUrlRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Selected pages deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_DeleteWebsiteUrlResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Web Crawler"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/crawler/status": {
      "get": {
        "operationId": "getCrawlingStatusForLatestOperation",
        "summary": "Get crawling status for the latest operation",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID as string",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "operationId",
            "required": true,
            "in": "query",
            "description": "operation id as string",
            "schema": {
              "example": 1,
              "type": "string"
            }
          },
          {
            "name": "knowledgeBaseId",
            "required": true,
            "in": "query",
            "description": "knowledge base id",
            "schema": {
              "example": "jjkkxftgvbhjmn,",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Operation status fetched successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_CrawlingStatusResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Web Crawler"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/crawler/train": {
      "post": {
        "operationId": "trainDiscoveredUrls",
        "summary": "Train discovered website pages and ingest into the knowledge base",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_TrainDiscoveredUrlsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Pages trained successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_TrainDiscoveredUrlsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Web Crawler"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/{knowledgeBaseId}": {
      "get": {
        "operationId": "getKnowledgeBaseById",
        "summary": "Get knowledge base by ID",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "knowledgeBaseId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Knowledge base by ID retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_GetKnowledgeBaseByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "deleteKnowledgeBase",
        "summary": "Delete a knowledge base",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "knowledgeBaseId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Knowledge base deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_DeleteKnowledgeBaseResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/{id}": {
      "put": {
        "operationId": "updateKnowledgeBase",
        "summary": "Update a knowledge base",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_UpdateKnowledgeBaseDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Knowledge base updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_UpdateKnowledgeBaseResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/knowledge-bases/": {
      "get": {
        "operationId": "listAllKnowledgeBasesPaginated",
        "summary": "Get all knowledge bases for a location by location Id (paginated)",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "search query for knowledge base name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of knowledge bases to return",
            "schema": {
              "default": 20,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "lastKnowledgeBaseId",
            "required": false,
            "in": "query",
            "description": "ID of the last knowledge base from the previous page (for pagination)",
            "schema": {
              "example": "ZwTB8S0yo0FIBY6OPZTD",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated knowledge bases retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_GetAllKnowledgeBasesPaginatedResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "post": {
        "operationId": "createKnowledgeBase",
        "summary": "Create a new knowledge base (max 15 knowledge bases per location)",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/knowledge_base_v3_CreateKnowledgeBaseDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Knowledge base created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/knowledge_base_v3_CreateKnowledgeBaseResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Knowledge Base"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/links/id/{linkId}": {
      "get": {
        "operationId": "get-link-by-id",
        "summary": "Get Link by ID",
        "description": "Get a single link by its ID",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "string"
            }
          },
          {
            "name": "linkId",
            "required": true,
            "in": "path",
            "description": "Link Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/links_v3_GetLinkSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Trigger Links"
        ],
        "security": [
          {
            "bearer": [
              "links.readonly"
            ]
          }
        ]
      }
    },
    "/links/{linkId}": {
      "put": {
        "operationId": "update-link",
        "summary": "Update Link",
        "description": "Update Link",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "linkId",
            "required": true,
            "in": "path",
            "description": "Link Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/links_v3_LinkUpdateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/links_v3_GetLinkSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Trigger Links"
        ],
        "security": [
          {
            "bearer": [
              "links.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-link",
        "summary": "Delete Link",
        "description": "Delete Link",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "linkId",
            "required": true,
            "in": "path",
            "description": "Link Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/links_v3_DeleteLinksSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Trigger Links"
        ],
        "security": [
          {
            "bearer": [
              "links.write"
            ]
          }
        ]
      }
    },
    "/links/search": {
      "get": {
        "operationId": "search-trigger-links",
        "summary": "Search Trigger Links",
        "description": "Get list of links by searching",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "ABCHkzuJQ8ZMd4Te84GK",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search query as a string",
            "schema": {
              "example": "Search string",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Numbers of query results to skip",
            "schema": {
              "default": 0,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit on number of search results",
            "schema": {
              "default": 20,
              "example": 10,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/links_v3_GetLinksSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Trigger Links Search"
        ],
        "security": [
          {
            "bearer": [
              "links.readonly"
            ]
          }
        ]
      }
    },
    "/links/": {
      "get": {
        "operationId": "get-links",
        "summary": "Get Links",
        "description": "Get Links",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID of the business profile",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/links_v3_GetLinksSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Trigger Links"
        ],
        "security": [
          {
            "bearer": [
              "links.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-link",
        "summary": "Create Link",
        "description": "Create Link",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/links_v3_LinksDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/links_v3_GetLinkSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Trigger Links"
        ],
        "security": [
          {
            "bearer": [
              "links.write"
            ]
          }
        ]
      }
    },
    "/locations/search": {
      "get": {
        "operationId": "search-locations",
        "summary": "Search",
        "description": "Search Sub-Account (Formerly Location)",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": false,
            "in": "query",
            "description": "The company/agency id on which you want to perform the search",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "example": "1",
            "description": "The value by which the results should be skipped. Default will be 0",
            "schema": {
              "default": "0",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": "10",
            "description": "The value by which the results should be limited. Default will be 10",
            "schema": {
              "default": "10",
              "type": "string"
            }
          },
          {
            "name": "order",
            "required": false,
            "in": "query",
            "example": "asc",
            "description": "The order in which the results should be returned - Allowed values asc, desc. Default will be asc",
            "schema": {
              "default": "asc",
              "type": "string"
            }
          },
          {
            "name": "email",
            "required": false,
            "in": "query",
            "example": "johndoe@mail.com",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_SearchSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "Agency-Access": [
              "locations.readonly"
            ]
          },
          {
            "Location-Access": [
              "locations.readonly"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}": {
      "get": {
        "operationId": "get-location",
        "summary": "Get Sub-Account (Formerly Location)",
        "description": "Get details of a Sub-Account (Formerly Location) by passing the sub-account id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_GetLocationByIdSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Sub-Account (Formerly Location)"
        ],
        "security": [
          {
            "Location-Access": [
              "locations.readonly"
            ]
          },
          {
            "Agency-Access": [
              "locations.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "put-location",
        "summary": "Put Sub-Account (Formerly Location)",
        "description": "Update a Sub-Account (Formerly Location) based on the data provided",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_UpdateLocationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful update response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CreateLocationSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Sub-Account (Formerly Location)"
        ],
        "security": [
          {
            "Agency-Access": [
              "locations.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-location",
        "summary": "Delete Sub-Account (Formerly Location)",
        "description": "Delete a Sub-Account (Formerly Location) from the Agency",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deleteTwilioAccount",
            "required": true,
            "in": "query",
            "description": "Boolean value to indicate whether to delete Twilio Account or not",
            "example": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationDeletedSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Sub-Account (Formerly Location)"
        ],
        "security": [
          {
            "Agency-Access": [
              "locations.internal-access-only"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/tags": {
      "get": {
        "operationId": "get-location-tags",
        "summary": "Get Tags",
        "description": "Get Sub-Account (Formerly Location) Tags",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationTagsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": [
              "locations/tags.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-tag",
        "summary": "Create Tag",
        "description": "Create tag",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_tagBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationTagSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": [
              "locations/tags.write"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/tags/{tagId}": {
      "get": {
        "operationId": "get-tag-by-id",
        "summary": "Get tag by id",
        "description": "Get tag by id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagId",
            "required": true,
            "in": "path",
            "description": "Tag Id",
            "example": "flGwEuzsfJOia1i1ikRN",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationTagSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "put": {
        "operationId": "update-tag",
        "summary": "Update tag",
        "description": "Update tag",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagId",
            "required": true,
            "in": "path",
            "description": "Tag Id",
            "example": "flGwEuzsfJOia1i1ikRN",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_tagBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationTagSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-tag",
        "summary": "Delete tag",
        "description": "Delete tag",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagId",
            "required": true,
            "in": "path",
            "description": "Tag Id",
            "example": "flGwEuzsfJOia1i1ikRN",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationTagDeleteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/locations/{locationId}/tasks/search": {
      "post": {
        "operationId": "task-search",
        "summary": "Task Search Filter",
        "description": "Task Search",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_TaskSearchParamsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_LocationTaskListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tasks Search"
        ],
        "security": [
          {
            "bearer": [
              "locations/tasks.readonly"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/recurring-tasks/{id}": {
      "get": {
        "operationId": "get-recurring-task-by-id",
        "summary": "Get Recurring Task By Id",
        "description": "Get Recurring Task By Id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Recurring Task Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_RecurringTaskSingleResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Recurring Tasks"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "put": {
        "operationId": "update-recurring-task",
        "summary": "Update Recurring Task",
        "description": "Update Recurring Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Recurring Task Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_RecurringTaskUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_RecurringTaskSingleResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Recurring Tasks"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-recurring-task",
        "summary": "Delete Recurring Task",
        "description": "Delete Recurring Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Recurring Task Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_DeleteRecurringTaskResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Recurring Tasks"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/locations/{locationId}/recurring-tasks": {
      "post": {
        "operationId": "create-recurring-task",
        "summary": "Create Recurring Task",
        "description": "Create Recurring Task",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_RecurringTaskCreateDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_RecurringTaskSingleResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Recurring Tasks"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/locations/{locationId}/customFields": {
      "get": {
        "operationId": "get-custom-fields",
        "summary": "Get Custom Fields",
        "description": "Get Custom Fields",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "model",
            "required": false,
            "in": "query",
            "description": "Model of the custom field you want to retrieve",
            "example": "opportunity",
            "schema": {
              "enum": [
                "contact",
                "opportunity",
                "all"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomFieldsListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Field"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-custom-field",
        "summary": "Create Custom Field",
        "description": "Create Custom Field",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_CreateCustomFieldsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomFieldSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Field"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/customFields/{id}": {
      "get": {
        "operationId": "get-custom-field",
        "summary": "Get Custom Field",
        "description": "Get Custom Field",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Field Id or Field Key (e.g. \"contact.first_name\" or \"opportunity.pipeline_id\")",
            "examples": {
              "id": {
                "value": "00NhGCcN1tlO8ZHcu7Wb",
                "summary": "Custom Field ID"
              },
              "field_key": {
                "value": "contact.first_name",
                "summary": "Custom Field Key"
              }
            },
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomFieldSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Field"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "put": {
        "operationId": "update-custom-field",
        "summary": "Update Custom Field",
        "description": "Update Custom Field",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Field Id",
            "example": "00NhGCcN1tlO8ZHcu7Wb",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_UpdateCustomFieldsDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomFieldSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Field"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-custom-field",
        "summary": "Delete Custom Field",
        "description": "Delete Custom Field",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Field Id",
            "example": "00NhGCcN1tlO8ZHcu7Wb",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomFieldDeleteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Field"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/locations/{locationId}/customFields/upload": {
      "post": {
        "operationId": "upload-file-customFields",
        "summary": "Uploads File to customFields",
        "description": "Uploads File to customFields",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_FileUploadBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_FileUploadResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Field"
        ],
        "security": [
          {
            "bearer": [
              "locations/customFields.write"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/customValues": {
      "get": {
        "operationId": "get-custom-values",
        "summary": "Get Custom Values",
        "description": "Get Custom Values",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomValuesListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Value"
        ],
        "security": [
          {
            "bearer": [
              "locations/customValues.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-custom-value",
        "summary": "Create Custom Value",
        "description": "Create Custom Value",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_customValuesDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomValueIdSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Value"
        ],
        "security": [
          {
            "bearer": [
              "locations/customValues.write"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/customValues/{id}": {
      "get": {
        "operationId": "get-custom-value",
        "summary": "Get Custom Value",
        "description": "Get Custom Value",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Value Id",
            "example": "kOBjMVAJhFuUeYIojVet",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomValueIdSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Value"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "put": {
        "operationId": "update-custom-value",
        "summary": "Update Custom Value",
        "description": "Update Custom Value",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Value Id",
            "example": "kOBjMVAJhFuUeYIojVet",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_customValuesDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomValueIdSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Value"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-custom-value",
        "summary": "Delete Custom Value",
        "description": "Delete Custom Value",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Custom Value Id",
            "example": "kOBjMVAJhFuUeYIojVet",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CustomValueDeleteSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Value"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/locations/{locationId}/timezones": {
      "get": {
        "operationId": "get-timezones",
        "summary": "Fetch Timezones",
        "description": "Fetch the available timezones",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Timezone"
        ],
        "security": [
          {
            "bearer": [
              "locations.readonly"
            ]
          },
          {
            "Location-Access": [
              "locations.readonly"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/templates": {
      "get": {
        "operationId": "GET-all-or-email-sms-templates",
        "summary": "GET all or email/sms templates",
        "description": "GET all or email/sms templates",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "deleted",
            "required": false,
            "in": "query",
            "example": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "example": "1",
            "schema": {
              "default": "0",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": "25",
            "schema": {
              "default": "25",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "sms",
                "email",
                "whatsapp"
              ],
              "type": "string"
            }
          },
          {
            "name": "originId",
            "required": true,
            "in": "query",
            "description": "Origin Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_GetTemplatesSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "bearer": [
              "locations/templates.readonly"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/templates/{id}": {
      "delete": {
        "operationId": "DELETE-an-email-sms-template",
        "summary": "DELETE an email/sms template",
        "description": "DELETE an email/sms template",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Template Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Template"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/locations/": {
      "post": {
        "operationId": "create-location",
        "summary": "Create Sub-Account (Formerly Location)",
        "description": "<div>\n                  <p>Create a new Sub-Account (Formerly Location) based on the data provided</p> \n                  <div>\n<span>\n                     :::info\n This feature is only available on Agency Pro ($497) plan.\n :::  \n </span>\n                  </div>\n                </div>\n    ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_CreateLocationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_CreateLocationSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Sub-Account (Formerly Location)"
        ],
        "security": [
          {
            "Agency-Access": [
              "locations.write"
            ]
          }
        ]
      }
    },
    "/marketplace/billing/charges": {
      "post": {
        "operationId": "charge",
        "summary": "Create a new wallet charge",
        "description": "Create a new wallet charge",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/marketplace_v3_RaiseChargeBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Charge created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Indicates whether the charge was created successfully",
                      "example": true
                    },
                    "chargeId": {
                      "type": "string",
                      "description": "Unique identifier of the created charge",
                      "example": "charge_123"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Error message describing the bad request",
                      "example": "Invalid request body"
                    },
                    "statusCode": {
                      "type": "number",
                      "description": "HTTP status code",
                      "example": 400
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Wallet Charges"
        ],
        "security": [
          {
            "Location-Access-Only": [
              "charges.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "getCharges",
        "summary": "Get all wallet charges",
        "description": "Get all wallet charges",
        "parameters": [
          {
            "name": "meterId",
            "required": false,
            "in": "query",
            "description": "Billing Meter ID (you can find this on your app's pricing page on the developer portal)",
            "schema": {
              "example": "680b97022b4a34420f5f9b93",
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "required": false,
            "in": "query",
            "description": "Event ID / Transaction ID",
            "schema": {
              "example": "evt_abc123",
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": false,
            "in": "query",
            "description": "Filter results by User ID that your server passed via API when the charge was created",
            "schema": {
              "example": "user_abc123",
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "Filter results AFTER a specific date. Use this in combination with endDate to filter results in a specific time window.",
            "schema": {
              "example": "2025-03-26",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "Filter results BEFORE a specific date. Use this in combination with startDate to filter results in a specific time window.",
            "schema": {
              "example": "2025-03-26",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of records to skip",
            "schema": {
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of records to return",
            "schema": {
              "example": 10,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns list of wallet charges",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "charges": {
                      "type": "array",
                      "description": "List of wallet charges",
                      "example": [],
                      "items": {
                        "type": "object",
                        "properties": {
                          "refunded": {
                            "type": "boolean",
                            "description": "Value is 'true' if the charge has subsequently been refunded.",
                            "example": false
                          },
                          "currency": {
                            "type": "string",
                            "description": "Currency of the transaction. We currently support USD only.",
                            "example": "USD"
                          },
                          "appId": {
                            "type": "string",
                            "description": "App ID",
                            "example": "6578278e879ad2646715ba9c"
                          },
                          "meterId": {
                            "type": "string",
                            "description": "Billing Meter ID (you can find this on your app's pricing page)",
                            "example": "680b97022b4a34420f5f9b93"
                          },
                          "chargeId": {
                            "type": "string",
                            "description": "Charge ID",
                            "example": "charge_123"
                          },
                          "entityType": {
                            "type": "string",
                            "description": "Indicates who was charged? Currently, we support charges for 'location' only",
                            "example": "location"
                          },
                          "entityId": {
                            "type": "string",
                            "description": "If the entityType is Location, entityld would be locationld.",
                            "example": "ve9EPM428h8vShlRW1KT"
                          },
                          "amountCharged": {
                            "type": "number",
                            "description": "Total amount charged",
                            "example": 0.1
                          },
                          "pricePerUnit": {
                            "type": "number",
                            "description": "Price per unit for the charge",
                            "example": 0.01
                          },
                          "transactionType": {
                            "type": "string",
                            "description": "This can be one of two values - 'charge' or 'refund'",
                            "example": "charge"
                          },
                          "units": {
                            "type": "number",
                            "description": "Number of units that the sub-account was charged for",
                            "example": 10
                          },
                          "meta": {
                            "type": "object",
                            "description": "meta object contains details that were sent while creating the charge via the API - eventID, description, eventTime, userld",
                            "example": {
                              "eventId": "evt_abc123",
                              "description": "Charge for 10 SMS messages"
                            }
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Timestamp when the charge was created in our system",
                            "example": "2025-03-26T00:00:00.000Z"
                          },
                          "updatedAt": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Timestamp when the charge was last updated in our system",
                            "example": "2025-03-26T00:00:00.000Z"
                          }
                        }
                      }
                    },
                    "count": {
                      "type": "number",
                      "description": "Total number of charges",
                      "example": 100,
                      "deprecated": true
                    },
                    "pagination": {
                      "type": "object",
                      "description": "Pagination metadata for the charges list",
                      "example": {
                        "total": 100,
                        "skip": 0,
                        "limit": 10
                      },
                      "properties": {
                        "total": {
                          "type": "number",
                          "description": "Total number of charges",
                          "example": 100
                        },
                        "skip": {
                          "type": "number",
                          "description": "Number of records to skip",
                          "example": 0
                        },
                        "limit": {
                          "type": "number",
                          "description": "Maximum number of records to return",
                          "example": 10
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Wallet Charges"
        ],
        "security": [
          {
            "Location-Access-Only": [
              "charges.readonly"
            ]
          }
        ]
      }
    },
    "/marketplace/billing/charges/{chargeId}": {
      "delete": {
        "operationId": "deleteCharge",
        "summary": "Delete a wallet charge",
        "description": "Delete a wallet charge",
        "parameters": [
          {
            "name": "chargeId",
            "required": true,
            "in": "path",
            "description": "ID of the charge to delete",
            "schema": {
              "example": "charge_123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Charge deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Indicates whether the charge was deleted successfully",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Charge not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Error message describing why the charge was not found",
                      "example": "Charge not found"
                    },
                    "statusCode": {
                      "type": "number",
                      "description": "HTTP status code",
                      "example": 404
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Wallet Charges"
        ],
        "security": [
          {
            "Location-Access-Only": [
              "charges.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "getSpecificCharge",
        "summary": "Get specific wallet charge details",
        "description": "Get specific wallet charge details",
        "parameters": [
          {
            "name": "chargeId",
            "required": true,
            "in": "path",
            "description": "ID of the charge to retrieve",
            "schema": {
              "example": "charge_123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns charge details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "refunded": {
                      "type": "boolean",
                      "description": "Value is 'true' if the charge has subsequently been refunded.",
                      "example": false
                    },
                    "currency": {
                      "type": "string",
                      "description": "Currency of the transaction. We currently support USD only.",
                      "example": "USD"
                    },
                    "appId": {
                      "type": "string",
                      "description": "App ID",
                      "example": "6578278e879ad2646715ba9c"
                    },
                    "meterId": {
                      "type": "string",
                      "description": "Billing Meter ID (you can find this on your app's pricing page)",
                      "example": "680b97022b4a34420f5f9b93"
                    },
                    "chargeId": {
                      "type": "string",
                      "description": "Charge ID",
                      "example": "charge_123"
                    },
                    "entityType": {
                      "type": "string",
                      "description": "Indicates who was charged? Currently, we support charges for 'location' only",
                      "example": "location"
                    },
                    "entityId": {
                      "type": "string",
                      "description": "If the entityType is Location, entityld would be locationld.",
                      "example": "ve9EPM428h8vShlRW1KT"
                    },
                    "amountCharged": {
                      "type": "number",
                      "description": "Total amount charged",
                      "example": 0.1
                    },
                    "pricePerUnit": {
                      "type": "number",
                      "description": "Price per unit for the charge",
                      "example": 0.01
                    },
                    "transactionType": {
                      "type": "string",
                      "description": "This can be one of two values - 'charge' or 'refund'",
                      "example": "charge"
                    },
                    "units": {
                      "type": "number",
                      "description": "Number of units that the sub-account was charged for",
                      "example": 10
                    },
                    "meta": {
                      "type": "object",
                      "description": "meta object contains details that were sent while creating the charge via the API - eventID, description, eventTime, userld",
                      "example": {
                        "eventId": "evt_abc123",
                        "description": "Charge for 10 SMS messages"
                      }
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the charge was created in our system",
                      "example": "2025-03-26T00:00:00.000Z"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp when the charge was last updated in our system",
                      "example": "2025-03-26T00:00:00.000Z"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Charge not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Error message describing why the charge was not found",
                      "example": "Charge not found"
                    },
                    "statusCode": {
                      "type": "number",
                      "description": "HTTP status code",
                      "example": 404
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Wallet Charges"
        ],
        "security": [
          {
            "Location-Access-Only": [
              "charges.readonly"
            ]
          }
        ]
      }
    },
    "/marketplace/billing/charges/has-funds": {
      "get": {
        "operationId": "hasFunds",
        "summary": "Check if account has sufficient funds",
        "description": "Check if account has sufficient funds",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Returns fund availability status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "hasFunds": {
                      "type": "boolean",
                      "description": "Indicates whether the sub-account has sufficient funds to be charged",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Wallet Charges"
        ],
        "security": [
          {
            "Location-Access-Only": [
              "charges.readonly"
            ]
          }
        ]
      }
    },
    "/marketplace/app/{appId}/installations": {
      "delete": {
        "operationId": "uninstall-application",
        "summary": "Uninstall an application",
        "description": "Uninstalls an application from your company or a specific location. This will remove the application`s access and stop all its functionalities",
        "parameters": [
          {
            "name": "appId",
            "required": true,
            "in": "path",
            "description": "The application id which is to be uninstalled.",
            "schema": {
              "example": "674587703dfd4161f1e3c557",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/marketplace_v3_DeleteIntegrationBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully uninstalled the application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketplace_v3_DeleteIntegrationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access-Only": [
              "oauth.write"
            ]
          },
          {
            "Agency-Access": [
              "oauth.write"
            ]
          }
        ],
        "tags": [
          "App Management"
        ]
      },
      "get": {
        "operationId": "get-installer-details",
        "summary": "Get Installer Details",
        "description": "Fetches installer details for the authenticated user. This endpoint returns information about the company, location, user, and installation details associated with the current OAuth token.",
        "parameters": [
          {
            "name": "appId",
            "required": true,
            "in": "path",
            "description": "ID of the app to get installer details",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved installer details. Returns company, location, user, and installation information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketplace_v3_GetInstallerDetailsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Invalid request parameters or missing required data."
          },
          "403": {
            "description": "Forbidden. The client does not have necessary permissions to access installer details."
          }
        },
        "security": [
          {
            "Location-Access-Only": [
              "marketplace-installer-details.readonly"
            ]
          },
          {
            "Agency-Access-Only": [
              "marketplace-installer-details.readonly"
            ]
          }
        ],
        "tags": [
          "App Management"
        ]
      }
    },
    "/marketplace/app/{appId}/rebilling-config/location/{locationId}": {
      "get": {
        "operationId": "get-rebilling-config-for-app",
        "summary": "Get rebilling config for an app subscription and usage plans",
        "description": "Get rebilling config for an app subscription and usage plans for the authenticated sub-account. This endpoint returns the subscription and usage plans for an app.",
        "parameters": [
          {
            "name": "appId",
            "required": true,
            "in": "path",
            "description": "ID of the app to get rebilling config",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "ID of the Sub-Account location to get rebilling config for",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved rebilling config for the app",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketplace_v3_GetRebillingConfigResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. Invalid request parameters or missing required data."
          },
          "403": {
            "description": "Forbidden. The client does not have necessary permissions to access installer details."
          }
        },
        "security": [
          {
            "Location-Access-Only": [
              "oauth.readonly"
            ]
          }
        ],
        "tags": [
          "App Billing Management"
        ]
      }
    },
    "/marketplace/external-auth/migration": {
      "post": {
        "operationId": "migrateConnection",
        "summary": "Migrate external authentication connection",
        "description": "Migrates an external authentication connection credentials (basic or oauth2) for a specific app and location. This endpoint validates the app configuration, stores credentials safely in CRM's native encrypted storage. With this the lifecycle of the token is managed by CRM.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/marketplace_v3_MigrateConnectionDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Connection migrated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketplace_v3_MigrateConnectionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request - invalid input or auth type mismatch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - invalid or missing token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "App not found"
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/marketplace_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "External Auth Migration"
        ],
        "security": [
          {
            "Location-Access": [
              "marketplace-external-auth-migration.write"
            ]
          },
          {
            "Location-Access-Only": [
              "marketplace-external-auth-migration.write"
            ]
          }
        ]
      }
    },
    "/medias/files": {
      "get": {
        "operationId": "fetch-media-content",
        "summary": "Get List of Files/ Folders",
        "description": "Fetches list of files and folders from the media storage",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of files to skip in listing",
            "example": "5",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of files to show in the listing",
            "example": "10",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "required": true,
            "in": "query",
            "description": "Field to sorting the file listing by",
            "example": "createdAt",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "required": true,
            "in": "query",
            "description": "Direction in which file needs to be sorted",
            "example": "asc",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "query",
            "description": "Type",
            "example": "file",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Query text",
            "example": "Test file",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "AltType",
            "example": "location",
            "schema": {
              "type": "string",
              "enum": [
                "location"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parentId",
            "in": "query",
            "description": "parent id or folder id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fetchAll",
            "required": false,
            "description": "Fetch all files or folders",
            "example": "false",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/medias_v3_GetFilesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "medias.readonly"
            ]
          }
        ],
        "tags": [
          "Medias"
        ]
      }
    },
    "/medias/upload-file": {
      "post": {
        "operationId": "upload-media-content",
        "summary": "Upload File into Media Storage",
        "description": "If hosted is set to true then fileUrl is required. Else file is required. If adding a file, maximum allowed is 25 MB. For video files, the maximum allowed size is 500 MB.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "hosted": {
                    "type": "boolean"
                  },
                  "fileUrl": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "parentId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/medias_v3_UploadFileResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "medias.write"
            ]
          }
        ],
        "tags": [
          "Medias"
        ]
      }
    },
    "/medias/{id}": {
      "delete": {
        "operationId": "delete-media-content",
        "summary": "Delete File or Folder",
        "description": "Deletes specific file or folder from the media storage",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "AltType",
            "example": "location",
            "schema": {
              "type": "string",
              "enum": [
                "location"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "description": "location Id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          }
        },
        "security": [
          {
            "Location-Access": [
              "medias.write"
            ]
          }
        ],
        "tags": [
          "Medias"
        ]
      },
      "post": {
        "operationId": "update-media-object",
        "summary": "Update File/ Folder",
        "description": "Updates a single file or folder by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the file or folder to update",
            "schema": {
              "type": "string"
            },
            "example": "686f9817f0d3165be9fbcef6"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/medias_v3_UpdateObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "updated": true,
                    "traceId": "33a641a2-c4a6-4123-aa82-c5b84f1a14ee"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          }
        ],
        "tags": [
          "Medias"
        ]
      }
    },
    "/medias/folder": {
      "post": {
        "operationId": "create-media-folder",
        "summary": "Create Folder",
        "description": "Creates a new folder in the media storage",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/medias_v3_CreateFolderParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the newly created folder object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/medias_v3_FolderDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          }
        ],
        "tags": [
          "Medias"
        ]
      }
    },
    "/medias/update-files": {
      "put": {
        "operationId": "bulk-update-media-objects",
        "summary": "Bulk Update Files/ Folders",
        "description": "Updates metadata or status of multiple files and folders",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/medias_v3_UpdateMediaObjects"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "example": [
                    {
                      "updated": true,
                      "id": "686f9817f0d3165be9fbcef6"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          }
        ],
        "tags": [
          "Medias"
        ]
      }
    },
    "/medias/delete-files": {
      "put": {
        "operationId": "bulk-delete-media-objects",
        "summary": "Bulk Delete / Trash Files or Folders",
        "description": "Soft-deletes or trashes multiple files and folders in a single request",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/medias_v3_DeleteMediaObjectsBodyParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "example": [
                    {
                      "deleted": true,
                      "id": "686f630df0d3166d68fbcec2"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          }
        ],
        "tags": [
          "Medias"
        ]
      }
    },
    "/oauth/token": {
      "post": {
        "operationId": "get-access-token",
        "x-version-added": "v3",
        "summary": "Get Access Token",
        "description": "Use Access Tokens to access CRM resources on behalf of an authenticated location/company.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/oauth_v3_GetAccessTokenBodyDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/oauth_v3_GetAccessTokenBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_v3_GetAccessTokenSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                },
                "examples": {
                  "invalidParameter": {
                    "summary": "Thrown when any parameter (grantType, clientId, clientSecret, refreshToken, etc.) has an invalid value.",
                    "value": {
                      "statusCode": 400,
                      "message": "Invalid parameter: grantType"
                    }
                  },
                  "missingParameter": {
                    "summary": "Thrown when a required parameter (grantType, clientId, clientSecret, refreshToken, etc.) is missing from the request.",
                    "value": {
                      "statusCode": 400,
                      "message": "Missing parameter: clientId"
                    }
                  },
                  "invalidRefreshToken": {
                    "summary": "Thrown when the supplied refresh token is invalid, expired, or has already been used.",
                    "value": {
                      "statusCode": 400,
                      "message": "Invalid grant: refresh token is invalid"
                    }
                  },
                  "locationNotActive": {
                    "summary": "Thrown when the location is not active (Due to SaaS subscription incomplete, paused, canceled, etc. Agency manually paused location. Agency becomes inactive.). Once the location becomes active again, the same refresh token can be used to get a new access token, provided the app is still installed on the location.",
                    "value": {
                      "statusCode": 400,
                      "message": "Location is not active"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth 2.0"
        ]
      }
    },
    "/oauth/locationToken": {
      "post": {
        "operationId": "get-location-access-token",
        "summary": "Get Location Access Token from Agency Token",
        "description": "This API allows you to generate locationAccessToken from AgencyAccessToken",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/oauth_GetLocationAccessCodeBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_GetLocationAccessTokenSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth 2.0"
        ],
        "security": [
          {
            "Agency-Access-Only": [
              "oauth.write"
            ]
          }
        ]
      }
    },
    "/oauth/installedLocations": {
      "get": {
        "operationId": "get-installed-location",
        "summary": "Get Location where app is installed",
        "description": "This API allows you fetch location where app is installed upon",
        "parameters": [
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Parameter to skip the number installed locations",
            "schema": {
              "default": "0",
              "example": "1",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Parameter to limit the number installed locations",
            "schema": {
              "default": "20",
              "example": "10",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Parameter to search for the installed location by name",
            "schema": {
              "example": "location name",
              "type": "string"
            }
          },
          {
            "name": "isInstalled",
            "required": false,
            "in": "query",
            "description": "Filters out location which are installed for specified app under the specified company",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "description": "Parameter to search by the companyId",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "appId",
            "required": true,
            "in": "query",
            "description": "Parameter to search by the appId",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "versionId",
            "required": false,
            "in": "query",
            "description": "VersionId of the app",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "onTrial",
            "required": false,
            "in": "query",
            "description": "Filters out locations which are installed for specified app in trial mode",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "planId",
            "required": false,
            "in": "query",
            "description": "Filters out location which are installed for specified app under the specified planId",
            "schema": {
              "example": true,
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "locationId",
            "schema": {
              "example": "1245",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_GetInstalledLocationsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth 2.0"
        ],
        "security": [
          {
            "Agency-Access-Only": [
              "oauth.readonly"
            ]
          }
        ]
      }
    },
    "/objects/{key}": {
      "get": {
        "operationId": "get-object-schema-by-key",
        "summary": "Get Object Schema by key / id",
        "description": "Retrieve Object Schema by key or ID. This will return the schema of the custom object, including all its fields and properties. Supported objects include contact, opportunity, business and custom objects.To understand objects and records, please have a look the documentation here : https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
          "description": "To understand objects and records, please have a look the documentation."
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "key of the custom or standard object. For custom objects, the key must include the prefix “custom_objects.”. This key can be found on the Object Details page under Settings in the UI.",
            "schema": {
              "example": "custom_objects.pet",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location id of the sub account",
            "schema": {
              "example": "632c34b4c9b7da3358ac9891",
              "type": "string"
            }
          },
          {
            "name": "fetchProperties",
            "required": false,
            "in": "query",
            "description": "Fetch Properties , Fetches all the standard / custom fields of the object when set to true",
            "schema": {
              "example": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_CustomObjectByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Object Schema"
        ],
        "security": [
          {
            "bearer": [
              "objects/schema.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-custom-object",
        "summary": "Update Object Schema By Key / Id",
        "description": "Update Custom Object Schema  or standard object's like contact, opportunity, business searchable fields. To understand objects and records, please have a look at the documentation here : https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
          "description": "To understand objects and records, please have a look at the documentation here "
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "key",
            "required": true,
            "in": "path",
            "description": "key of the custom or standard object. For custom objects, the key must include the prefix “custom_objects.”. This key can be found on the Object Details page under Settings in the UI.",
            "schema": {
              "example": "custom_objects.pet",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/objects_v3_UpdateCustomObjectSchemaDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_CustomObjectResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Object Schema"
        ],
        "security": [
          {
            "bearer": [
              "objects/schema.write"
            ]
          }
        ]
      }
    },
    "/objects/{schemaKey}/records/{id}": {
      "get": {
        "operationId": "get-record-by-id",
        "summary": "Get Record By Id",
        "description": "Allows you to get a Standard Object like business and custom object record by Id",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "schemaKey",
            "required": true,
            "in": "path",
            "description": "The key of the Custom Object / Standard Object Schema. For custom objects, the key must include the “custom_objects.” prefix, while standard objects use their respective object keys. This information is available on the Custom Objects Details page under Settings.",
            "schema": {
              "example": "custom_objects.pet or business.email (for company's email)",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "id of the record to be updated. Available on the Record details page under the 3 dots or in the url",
            "schema": {
              "example": "632c34b4c9b7da3358ac9891",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_RecordByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Records"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "put": {
        "operationId": "update-object-record",
        "summary": "Update Record",
        "description": "Update a Custom Object Record by Id. Supported Objects are business and custom objects. Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0/87cpx-376296",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-175596/e2f3e9f2e111d69/87cpx-275676",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "schemaKey",
            "required": true,
            "in": "path",
            "description": "The key of the Custom Object / Standard Object Schema. For custom objects, the key must include the “custom_objects.” prefix, while standard objects use their respective object keys. This information is available on the Custom Objects Details page under Settings.",
            "schema": {
              "example": "custom_objects.pet or business.email (for company's email)",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "id of the record to be updated. Available on the Record details page under the 3 dots or in the url",
            "schema": {
              "example": "632c34b4c9b7da3358ac9891",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/objects_v3_UpdateCustomObjectRecordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_RecordByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Records"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-object-record",
        "summary": "Delete Record",
        "description": "Delete Record By Id . Supported Objects are business and custom objects.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "schemaKey",
            "required": true,
            "in": "path",
            "description": "The key of the Custom Object / Standard Object Schema. For custom objects, the key must include the “custom_objects.” prefix, while standard objects use their respective object keys. This information is available on the Custom Objects Details page under Settings.",
            "schema": {
              "example": "custom_objects.pet or business.email (for company's email)",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "id of the record to be updated. Available on the Record details page under the 3 dots or in the url",
            "schema": {
              "example": "632c34b4c9b7da3358ac9891",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_ObjectRecordDeleteResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Records"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/objects/{schemaKey}/records": {
      "post": {
        "operationId": "create-object-record",
        "summary": "Create Record",
        "description": "Create a Custom Object Record. Supported Objects business and custom objects. Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0/87cpx-376296",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-175596/e2f3e9f2e111d69/87cpx-275236",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "schemaKey",
            "required": true,
            "in": "path",
            "description": "The key of the Custom Object / Standard Object Schema. For custom objects, the key must include the “custom_objects.” prefix, while standard objects use their respective object keys. This information is available on the Custom Objects Details page under Settings.",
            "schema": {
              "example": "custom_objects.pet or business.email (for company's email)",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/objects_v3_CreateCustomObjectRecordDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_RecordByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Records"
        ],
        "security": [
          {
            "bearer": [
              "objects/record.write"
            ]
          }
        ]
      }
    },
    "/objects/{schemaKey}/records/search": {
      "post": {
        "operationId": "search-object-records",
        "summary": "Search Object Records",
        "description": "Supported Objects are custom objects and standard objects like \"business\". Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0/87cpx-379336",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "schemaKey",
            "required": false,
            "in": "path",
            "description": "custom object key",
            "schema": {
              "example": "632c34b4c9b7da3358ac9891",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/objects_v3_SearchRecordsBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_SearchRecordResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search Object Records"
        ],
        "security": [
          {
            "bearer": [
              "objects/record.readonly"
            ]
          }
        ]
      }
    },
    "/objects/": {
      "get": {
        "operationId": "get-object-by-location-id",
        "summary": "Get all objects for a location",
        "description": "Get all objects for a location. Supported Objects are contact, opportunity, business and custom objects.To understand objects and records, please have a look at the documentation here : https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
          "description": "To understand objects and records, please have a look the documentation."
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location id",
            "schema": {
              "example": "632c34b4c9b7da3358ac9891",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_CustomObjectListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Object Schema"
        ],
        "security": [
          {
            "bearer": [
              "objects/schema.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-custom-object-schema",
        "summary": "Create Custom Object",
        "description": "Allows you to create a custom object schema. To understand objects and records, please have a look at the documentation here : https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-277156/93bf0c2e23177b0",
          "description": "To understand objects and records, please have a look at the documentation here "
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/objects_v3_CreateCustomObjectSchemaDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/objects_v3_CustomObjectResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Object Schema"
        ],
        "security": [
          {
            "Agency-Access": [
              "objects/schema.write"
            ]
          }
        ]
      }
    },
    "/opportunities/lost-reason": {
      "get": {
        "operationId": "get-lost-reason",
        "summary": "Get lost reason",
        "description": "Get lost reason",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Identifier of the location (sub-account)",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "description": "lost reason name",
            "schema": {
              "example": "lost reason",
              "type": "string"
            }
          },
          {
            "name": "deleted",
            "required": false,
            "in": "query",
            "description": "deleted",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "search query",
            "schema": {
              "example": "dentist",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "skip",
            "schema": {
              "default": 0,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "limit",
            "schema": {
              "default": 100,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "getCount",
            "required": false,
            "in": "query",
            "description": "get count",
            "schema": {
              "example": "field",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_LostReasonsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Lost reason"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.readonly"
            ]
          }
        ]
      }
    },
    "/opportunities/search": {
      "get": {
        "operationId": "search-opportunity",
        "x-version-added": "v3",
        "summary": "Search Opportunity",
        "description": "Search Opportunity",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "q",
            "required": false,
            "in": "query",
            "description": "Search query (max 75 characters)",
            "schema": {
              "example": "john@deo.com",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter by opportunity status",
            "schema": {
              "example": "open",
              "enum": [
                "open",
                "won",
                "lost",
                "abandoned",
                "all"
              ],
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": false,
            "in": "query",
            "description": "Campaign Id",
            "schema": {
              "example": "Y2I9XM7aO1hncuSOlc9L",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": false,
            "in": "query",
            "description": "Opportunity Id",
            "schema": {
              "example": "123akv4LFn6C9frZoy3e",
              "type": "string"
            }
          },
          {
            "name": "order",
            "required": false,
            "in": "query",
            "description": "Sort order for results (e.g. added_asc, added_desc, name_asc, name_desc)",
            "schema": {
              "example": "added_asc",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "End date",
            "schema": {
              "example": "mm-dd-yyyy",
              "type": "string"
            }
          },
          {
            "name": "startAfter",
            "required": false,
            "in": "query",
            "description": "Start After",
            "schema": {
              "example": "1628008053263",
              "type": "string"
            }
          },
          {
            "name": "startAfterId",
            "required": false,
            "in": "query",
            "description": "Start After Id",
            "schema": {
              "example": "UIaE1WjAwWKdlyD7osQI",
              "type": "string"
            }
          },
          {
            "name": "date",
            "required": false,
            "in": "query",
            "description": "Start date",
            "schema": {
              "example": "mm-dd-yyyy",
              "type": "string"
            }
          },
          {
            "name": "country",
            "required": false,
            "in": "query",
            "description": "Filter by country code (ISO 3166-1 alpha-2)",
            "schema": {
              "example": "US",
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "default": 1,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit Per Page records count. will allow maximum up to 100 and default will be 20",
            "schema": {
              "default": 20,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "getTasks",
            "required": false,
            "in": "query",
            "description": "get Tasks in contact",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "getNotes",
            "required": false,
            "in": "query",
            "description": "get Notes in contact",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "getCalendarEvents",
            "required": false,
            "in": "query",
            "description": "get Calender event in contact",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "i2SpAtBVHSVea1sL6oah",
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "required": false,
            "in": "query",
            "description": "Pipeline Id",
            "schema": {
              "example": "bCkKGpDsyPP4peuKowkG",
              "type": "string"
            }
          },
          {
            "name": "pipelineStageId",
            "required": false,
            "in": "query",
            "description": "Stage Id",
            "schema": {
              "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact Id",
            "schema": {
              "example": "WFwVrSSjZ2CNHbZThQX2",
              "type": "string"
            }
          },
          {
            "name": "assignedTo",
            "required": false,
            "in": "query",
            "description": "Filter by assigned user identifier",
            "schema": {
              "example": "082goXVW3lIExEQPOnd3",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_SearchSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "search-opportunities-advanced",
        "summary": "Search Opportunities",
        "description": "Search Opportunities based on combinations of advanced filters. Documentation Link - https://doc.clickup.com/8631005/d/h/87cpx-424216/7bf11bc9b94f80f",
        "externalDocs": {
          "url": "https://doc.clickup.com/8631005/d/h/87cpx-424216/7bf11bc9b94f80f",
          "description": "Click here for more information"
        },
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_OpportunitySearchBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_PostSearchSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.readonly"
            ]
          }
        ]
      }
    },
    "/opportunities/pipelines": {
      "get": {
        "operationId": "get-pipelines",
        "summary": "Get Pipelines",
        "description": "Get Pipelines",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Identifier of the location (sub-account) to retrieve pipelines for",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_GetPipelinesSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Pipelines"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.readonly"
            ]
          }
        ]
      }
    },
    "/opportunities/{id}": {
      "get": {
        "operationId": "get-opportunity",
        "summary": "Get Opportunity",
        "description": "Get Opportunity",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Opportunity Id",
            "schema": {
              "example": "yWQobCRIhRguQtD2llvk",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_GetPostOpportunitySuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Opportunities"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-opportunity",
        "summary": "Delete Opportunity",
        "description": "Delete Opportunity",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Opportunity Id",
            "schema": {
              "example": "yWQobCRIhRguQtD2llvk",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_DeleteUpdateOpportunitySuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Opportunities"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-opportunity",
        "x-version-added": "v3",
        "summary": "Update Opportunity",
        "description": "Update Opportunity",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Opportunity Id",
            "schema": {
              "example": "yWQobCRIhRguQtD2llvk",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_UpdateOpportunityDtoV3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_GetPostOpportunitySuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Opportunities"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      }
    },
    "/opportunities/{id}/status": {
      "put": {
        "operationId": "update-opportunity-status",
        "summary": "Update Opportunity Status",
        "description": "Update Opportunity Status",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Opportunity Id",
            "schema": {
              "example": "yWQobCRIhRguQtD2llvk",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_UpdateStatusDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_DeleteUpdateOpportunitySuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Opportunities"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      }
    },
    "/opportunities/upsert": {
      "post": {
        "operationId": "Upsert-opportunity",
        "summary": "Upsert Opportunity",
        "description": "Upsert Opportunity",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_UpsertOpportunityDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_UpsertOpportunitySuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Opportunities"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      }
    },
    "/opportunities/{id}/followers": {
      "post": {
        "operationId": "add-followers-opportunity",
        "summary": "Add Followers",
        "description": "Add Followers",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Opportunity Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_FollowersDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_CreateAddFollowersSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Followers"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "remove-followers-opportunity",
        "summary": "Remove Followers",
        "description": "Allows removal of one or all followers from an opportunity.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Opportunity Id",
            "schema": {
              "example": "sx6wyHhbFdRXh302Lunr",
              "type": "string"
            }
          },
          {
            "name": "isRemoveAllFollowers",
            "required": false,
            "in": "query",
            "description": "Set to true to remove all followers from the opportunity",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_FollowersDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Followers successfully removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_DeleteFollowersSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Followers"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      }
    },
    "/opportunities/": {
      "post": {
        "operationId": "create-opportunity",
        "x-version-added": "v3",
        "summary": "Create Opportunity",
        "description": "Create Opportunity",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/opportunities_v3_CreateDtoV3"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/opportunities_v3_GetPostOpportunitySuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Opportunities"
        ],
        "security": [
          {
            "bearer": [
              "opportunities.write"
            ]
          }
        ]
      }
    },
    "/payments/integrations/provider/whitelabel": {
      "post": {
        "operationId": "create-integration provider",
        "summary": "Create White-label Integration Provider",
        "description": "The \"Create White-label Integration Provider\" API allows adding a new payment provider integration to the system which is built on top of Authorize.net or NMI. Use this endpoint to create a integration provider with the specified details. Ensure that the required information is provided in the request payload. This endpoint can be only invoked using marketplace-app token",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_CreateWhiteLabelIntegrationProviderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_CreateWhitelabelIntegrationResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/integration.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-integration-providers",
        "summary": "List White-label Integration Providers",
        "description": "The \"List White-label Integration Providers\" API allows to retrieve a paginated list of integration providers. Customize your results by filtering whitelabel integration providers(which are built directly on top of Authorize.net or NMI) based on name or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve integration provider information.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "location Id / company Id based on altType",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ListWhitelabelIntegrationProviderResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Integrations"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/integration.readonly"
            ]
          }
        ]
      }
    },
    "/payments/orders": {
      "get": {
        "operationId": "list-orders",
        "summary": "List Orders",
        "description": "The \"List Orders\" API allows to retrieve a paginated list of orders. Customize your results by filtering orders based on name, alt type, order status, payment mode, date range, type of source, contact, funnel products or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve order information.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "LocationId is the id of the sub-account.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "AltId is the unique identifier e.g: location id.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Order status.",
            "schema": {
              "example": "completed",
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "required": false,
            "in": "query",
            "description": "Payment Status of the Order",
            "schema": {
              "example": "unpaid",
              "enum": [
                "paid",
                "unpaid",
                "refunded",
                "partially_paid"
              ],
              "type": "string"
            }
          },
          {
            "name": "paymentMode",
            "required": false,
            "in": "query",
            "description": "Mode of payment.",
            "schema": {
              "example": "live",
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "Starting interval of orders.",
            "schema": {
              "example": "2024-02-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "Closing interval of orders.",
            "schema": {
              "example": "2024-02-13",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "The name of the order for searching.",
            "schema": {
              "example": "Awesome order",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact id for filtering of orders.",
            "schema": {
              "example": "XPLSw2SVagl12LMDeTmQ",
              "type": "string"
            }
          },
          {
            "name": "funnelProductIds",
            "required": false,
            "in": "query",
            "description": "Funnel product ids separated by comma.",
            "schema": {
              "example": "61dd0c7dc077f712a5f787ff,61d6afc9d39ac5e35965c017",
              "type": "string"
            }
          },
          {
            "name": "sourceId",
            "required": false,
            "in": "query",
            "description": "Source id",
            "schema": {
              "example": "61dd0c7dc077f712a5f787ff",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 10,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ListOrdersResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/orders.readonly"
            ]
          }
        ]
      }
    },
    "/payments/orders/{orderId}": {
      "get": {
        "operationId": "get-order-by-id",
        "summary": "Get Order by ID",
        "description": "The \"Get Order by ID\" API allows to retrieve information for a specific order using its unique identifier. Use this endpoint to fetch details for a single order based on the provided order ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "description": "ID of the order that needs to be returned",
            "schema": {
              "example": "653f5e0cde5a1314e62a837c",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "LocationId is the id of the sub-account.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "AltId is the unique identifier e.g: location id.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_GetOrderResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Order not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/orders.readonly"
            ]
          }
        ]
      }
    },
    "/payments/orders/{orderId}/record-payment": {
      "post": {
        "operationId": "record-order-payment",
        "summary": "Record Order Payment",
        "description": "The \"Record Order Payment\" API allows to record a payment for an order. Use this endpoint to record payment for an order and update the order status to \"Paid\".",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "description": "Order ID",
            "schema": {
              "example": "5e2d4c8e0e8b4e001c1c4f5d",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_PostRecordOrderPaymentBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_PostRecordOrderPaymentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Order not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Orders"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/orders.collectPayment"
            ]
          }
        ]
      }
    },
    "/payments/orders/{orderId}/fulfillments": {
      "post": {
        "operationId": "create-order-fulfillment",
        "summary": "Create order fulfillment",
        "description": "The \"Order Fulfillment\" API facilitates the process of fulfilling an order.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "description": "ID of the order that needs to be returned",
            "schema": {
              "example": "653f5e0cde5a1314e62a837c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_CreateFulfillmentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_CreateFulfillmentResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Order fulfillments"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/orders.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-order-fulfillment",
        "summary": "List fulfillment",
        "description": "List all fulfillment history of an order",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "description": "ID of the order that needs to be returned",
            "schema": {
              "example": "653f5e0cde5a1314e62a837c",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ListFulfillmentResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Order fulfillments"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/orders.readonly"
            ]
          }
        ]
      }
    },
    "/payments/orders/{orderId}/notes": {
      "get": {
        "operationId": "list-order-notes",
        "summary": "List Order Notes",
        "description": "List all notes of an order",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "description": "ID of the order that needs to be returned",
            "schema": {
              "example": "653f5e0cde5a1314e62a837c",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Order Notes"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/payments/transactions": {
      "get": {
        "operationId": "list-transactions",
        "summary": "List Transactions",
        "description": "The \"List Transactions\" API allows to retrieve a paginated list of transactions. Customize your results by filtering transactions based on name, alt type, transaction status, payment mode, date range, type of source, contact, subscription id, entity id or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve transaction information.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "LocationId is the id of the sub-account.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "AltId is the unique identifier e.g: location id.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "AltType is the type of identifier.",
            "schema": {
              "example": "location",
              "type": "string"
            }
          },
          {
            "name": "paymentMode",
            "required": false,
            "in": "query",
            "description": "Mode of payment.",
            "schema": {
              "example": "live",
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "Starting interval of transactions.",
            "schema": {
              "example": "2024-02-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "Closing interval of transactions.",
            "schema": {
              "example": "2024-02-13",
              "type": "string"
            }
          },
          {
            "name": "entitySourceType",
            "required": false,
            "in": "query",
            "description": "Source of the transactions.",
            "schema": {
              "example": "funnel",
              "type": "string"
            }
          },
          {
            "name": "entitySourceSubType",
            "required": false,
            "in": "query",
            "description": "Source sub-type of the transactions.",
            "schema": {
              "example": "two_step_order_form",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "The name of the transaction for searching.",
            "schema": {
              "example": "Awesome transaction",
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "required": false,
            "in": "query",
            "description": "Subscription id for filtering of transactions.",
            "schema": {
              "example": "sub_1KGcXDCScnf89tZoVkoEMCEL",
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "required": false,
            "in": "query",
            "description": "Entity id for filtering of transactions.",
            "schema": {
              "example": "61dd0fe9c077f73e67f78803",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact id for filtering of transactions.",
            "schema": {
              "example": "XPLSw2SVagl12LMDeTmQ",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 10,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ListTxnsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Transactions"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/transactions.readonly"
            ]
          }
        ]
      }
    },
    "/payments/transactions/{transactionId}": {
      "get": {
        "operationId": "get-transaction-by-id",
        "summary": "Get Transaction by ID",
        "description": "The \"Get Transaction by ID\" API allows to retrieve information for a specific transaction using its unique identifier. Use this endpoint to fetch details for a single transaction based on the provided transaction ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "transactionId",
            "required": true,
            "in": "path",
            "description": "ID of the transaction that needs to be returned",
            "schema": {
              "example": "61dd0feac077f72010f78804",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "LocationId is the id of the sub-account.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "AltId is the unique identifier e.g: location id.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "AltType is the type of identifier.",
            "schema": {
              "example": "location",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_GetTxnResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Transaction not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Transactions"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/transactions.readonly"
            ]
          }
        ]
      }
    },
    "/payments/subscriptions": {
      "get": {
        "operationId": "list-subscriptions",
        "summary": "List Subscriptions",
        "description": "The \"List Subscriptions\" API allows to retrieve a paginated list of subscriptions. Customize your results by filtering subscriptions based on name, alt type, subscription status, payment mode, date range, type of source, contact, subscription id, entity id, contact or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve subscription information.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "AltId is the unique identifier e.g: location id.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "AltType is the type of identifier.",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "required": false,
            "in": "query",
            "description": "Entity id for filtering of subscriptions.",
            "schema": {
              "example": "61dd0fe9c077f73e67f78803",
              "type": "string"
            }
          },
          {
            "name": "paymentMode",
            "required": false,
            "in": "query",
            "description": "Mode of payment.",
            "schema": {
              "example": "live",
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "description": "Starting interval of subscriptions.",
            "schema": {
              "example": "2024-02-01",
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "description": "Closing interval of subscriptions.",
            "schema": {
              "example": "2024-02-13",
              "type": "string"
            }
          },
          {
            "name": "entitySourceType",
            "required": false,
            "in": "query",
            "description": "Source of the subscriptions.",
            "schema": {
              "example": "funnel",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "The name of the subscription for searching.",
            "schema": {
              "example": "Awesome subscription",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact ID for the subscription",
            "schema": {
              "example": "AmuzcoPBpgKeccNsFlib",
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": false,
            "in": "query",
            "description": "Subscription id for filtering of subscriptions.",
            "schema": {
              "example": "64bf78af39118e4011926cba",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 10,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "getPaymentsCollectedCount",
            "required": false,
            "in": "query",
            "description": "Get the total payments collected for the subscription.",
            "schema": {
              "example": "true",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ListSubscriptionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Subscriptions"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/subscriptions.readonly"
            ]
          }
        ]
      }
    },
    "/payments/subscriptions/{subscriptionId}": {
      "get": {
        "operationId": "get-subscription-by-id",
        "summary": "Get Subscription by ID",
        "description": "The \"Get Subscription by ID\" API allows to retrieve information for a specific subscription using its unique identifier. Use this endpoint to fetch details for a single subscription based on the provided subscription ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "subscriptionId",
            "required": true,
            "in": "path",
            "description": "ID of the subscription that needs to be returned",
            "schema": {
              "example": "6322e9c9e39fc14ab3ed7042",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "AltId is the unique identifier e.g: location id.",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "AltType is the type of identifier.",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_GetSubscriptionResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Subscription not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Subscriptions"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/subscriptions.readonly"
            ]
          }
        ]
      }
    },
    "/payments/coupon/list": {
      "get": {
        "operationId": "list-coupons",
        "summary": "List Coupons",
        "description": "The \"List Coupons\" API allows you to retrieve a list of all coupons available in your location. Use this endpoint to view all promotional offers and special discounts for your customers.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "BQdAwxa0ky1iK2sstLGJ",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of coupons to return",
            "schema": {
              "default": 100,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of coupons to skip for pagination",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter coupons by status",
            "schema": {
              "example": "active",
              "enum": [
                "scheduled",
                "active",
                "expired"
              ],
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search term to filter coupons by name or code",
            "schema": {
              "example": "DEAL50",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ListCouponsResponseDto"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Coupons"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/coupons.readonly"
            ]
          }
        ]
      }
    },
    "/payments/coupon": {
      "post": {
        "operationId": "create-coupon",
        "summary": "Create Coupon",
        "description": "The \"Create Coupon\" API allows you to create a new promotional coupon with customizable parameters such as discount amount, validity period, usage limits, and applicable products. Use this endpoint to set up promotional offers and special discounts for your customers.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_CreateCouponParams"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_CreateCouponResponseDto"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Coupons"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/coupons.write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-coupon",
        "summary": "Update Coupon",
        "description": "The \"Update Coupon\" API enables you to modify existing coupon details such as discount values, validity periods, usage limits, and other promotional parameters. Use this endpoint to adjust or extend promotional offers for your customers.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_UpdateCouponParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_CreateCouponResponseDto"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Coupons"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/coupons.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-coupon",
        "summary": "Delete Coupon",
        "description": "The \"Delete Coupon\" API allows you to permanently remove a coupon from your system using its unique identifier. Use this endpoint to discontinue promotional offers or clean up unused coupons. Note that this action cannot be undone.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_DeleteCouponParams"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_DeleteCouponResponseDto"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Coupons"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/coupons.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-coupon",
        "summary": "Fetch Coupon",
        "description": "The \"Get Coupon Details\" API enables you to retrieve comprehensive information about a specific coupon using either its unique identifier or promotional code. Use this endpoint to view coupon parameters, usage statistics, validity periods, and other promotional details.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "BQdAwxa0ky1iK2sstLGJ",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "Alt Type",
            "schema": {
              "example": "location",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "query",
            "description": "Coupon id",
            "schema": {
              "example": "6241712be68f7a98102ba272",
              "type": "string"
            }
          },
          {
            "name": "code",
            "required": true,
            "in": "query",
            "description": "Coupon code",
            "schema": {
              "example": "DEAL50",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_CreateCouponResponseDto"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Coupons"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/coupons.readonly"
            ]
          }
        ]
      }
    },
    "/payments/custom-provider/provider": {
      "post": {
        "operationId": "create-integration",
        "summary": "Create new integration",
        "description": "API to create a new association for an app and location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location id",
            "schema": {
              "example": "Lk3nlfk4lxlelVEwcW",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_CreateCustomProvidersDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_CreateCustomProvidersResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Provider"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/custom-provider.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-integration",
        "summary": "Deleting an existing integration",
        "description": "API to delete an association for an app and location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location id",
            "schema": {
              "example": "Lk3nlfk4lxlelVEwcW",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_DeleteCustomProvidersResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Provider"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/custom-provider.write"
            ]
          }
        ]
      }
    },
    "/payments/custom-provider/connect": {
      "get": {
        "operationId": "fetch-config",
        "summary": "Fetch given provider config",
        "description": "API for fetching an existing payment config for given location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location id",
            "schema": {
              "example": "Lk3nlfk4lxlelVEwcW",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_GetCustomProvidersResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "No such config exists for given locationId and marketplaceAppId",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Provider"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/custom-provider.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-config",
        "summary": "Create new provider config",
        "description": "API to create a new payment config for given location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location id",
            "schema": {
              "example": "Lk3nlfk4lxlelVEwcW",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_ConnectCustomProvidersConfigDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_ConnectCustomProvidersResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "No such config exists for given locationId and marketplaceAppId",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Provider"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/custom-provider.write"
            ]
          }
        ]
      }
    },
    "/payments/custom-provider/disconnect": {
      "post": {
        "operationId": "disconnect-config",
        "summary": "Disconnect existing provider config",
        "description": "API to disconnect an existing payment config for given location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location id",
            "schema": {
              "example": "Lk3nlfk4lxlelVEwcW",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_DeleteCustomProvidersConfigDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_DisconnectCustomProvidersResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "No such config exists for given locationId and marketplaceAppId",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Provider"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/custom-provider.write"
            ]
          }
        ]
      }
    },
    "/payments/custom-provider/capabilities": {
      "put": {
        "operationId": "custom-provider-marketplace-app-update-capabilities",
        "summary": "Custom-provider marketplace app update capabilities",
        "description": "Toggle capabilities for the marketplace app tied to the OAuth client",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payments_v3_UpdateCustomProviderCapabilitiesDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payments_v3_UpdateCustomProviderCapabilitiesResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Custom Provider"
        ],
        "security": [
          {
            "Location-Access": [
              "payments/custom-provider.write"
            ]
          }
        ]
      }
    },
    "/phone-system/number-pools": {
      "get": {
        "operationId": "getNumberPoolList",
        "summary": "List number pools",
        "description": "Returns number pools for the location. Requires locationId as a query parameter.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID to scope the number pool list",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of number pools for the location."
          }
        },
        "tags": [
          "phone"
        ],
        "security": [
          {
            "Location-Access": [
              "numberpools.read"
            ]
          }
        ]
      }
    },
    "/phone-system/numbers/location/{locationId}/available": {
      "get": {
        "operationId": "listAvailableNumbersForACountry",
        "summary": "List available phone numbers",
        "description": "Search Twilio inventory for purchasable phone numbers in a country for the given location.",
        "parameters": [
          {
            "name": "firstPart",
            "required": true,
            "in": "query",
            "description": "firstPart is the beginning of the phone number",
            "schema": {
              "type": "string",
              "example": "830"
            }
          },
          {
            "name": "lastPart",
            "required": true,
            "in": "query",
            "description": "lastPart is the ending of the phone number",
            "schema": {
              "type": "string",
              "example": "825"
            }
          },
          {
            "name": "anywhere",
            "required": true,
            "in": "query",
            "description": "anywhere are the numbers required anywhere in phone number",
            "schema": {
              "type": "string",
              "example": "825"
            }
          },
          {
            "name": "numberTypes",
            "required": true,
            "in": "query",
            "description": "comma separated types of phone number required",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": "tollFree,mobile,local"
            }
          },
          {
            "name": "smsEnabled",
            "required": true,
            "in": "query",
            "description": "requested phone numbers should have sms functionality",
            "schema": {
              "type": "boolean",
              "example": "true"
            }
          },
          {
            "name": "mmsEnabled",
            "required": true,
            "in": "query",
            "description": "requested phone numbers should have mms functionality",
            "schema": {
              "type": "boolean",
              "example": "true"
            }
          },
          {
            "name": "voiceEnabled",
            "required": true,
            "in": "query",
            "description": "requested phone numbers should have voice functionality",
            "schema": {
              "type": "boolean",
              "example": "true"
            }
          },
          {
            "name": "countryCode",
            "required": true,
            "in": "query",
            "description": "country for which the phone numbers are being requested",
            "schema": {
              "type": "string",
              "example": "US"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID as string",
            "schema": {
              "type": "string",
              "example": "tDtDnQdgm2LXpyiqYvZ6"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Available phone numbers matching the search criteria."
          }
        },
        "tags": [
          "phone"
        ],
        "security": [
          {
            "Location-Access": [
              "phonenumbers.read"
            ]
          }
        ]
      }
    },
    "/phone-system/numbers/location/{locationId}/purchase": {
      "post": {
        "operationId": "purchase-number-for-location",
        "x-version-added": "v3",
        "summary": "Purchase number for location",
        "description": "Purchase number for location. With `version: v3`, the HTTP 201 body is the standard success envelope (`status`, `data`, `message`, `statusCode`). The v3 purchase fields live under `data`: `number`, `locationId`, `id`, and `underCrmAccount` (renamed from under_crm_account).",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID as string",
            "schema": {
              "type": "string",
              "example": "tDtDnQdgm2LXpyiqYvZ6"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "Send `v3` to use the v3 response contract (AIP). This is the supported version value for these endpoints.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/phone_system_v3_PurchasePhoneNumberBodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success envelope; v3 purchase details are in `data` (slim shape: number, locationId, id, underCrmAccount).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/phone_system_v3_PurchaseNumberForLocationV3Http201ResponseDto"
                }
              }
            }
          }
        },
        "tags": [
          "phone"
        ],
        "security": [
          {
            "Location-Access": [
              "phonenumbers.write"
            ]
          }
        ]
      }
    },
    "/phone-system/numbers/location/{locationId}": {
      "get": {
        "operationId": "active-numbers",
        "x-version-added": "v3",
        "summary": "List active numbers",
        "description": "List active numbers. With `version: v3`, the HTTP 200 body is the standard success envelope (`status`, `data`, `message`, `statusCode`). The v3 list payload is under `data`; `isUnderCrm` is renamed to `isUnderCrm` per AIP naming convention.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID as string",
            "schema": {
              "type": "string",
              "example": "tDtDnQdgm2LXpyiqYvZ6"
            }
          },
          {
            "name": "pageSize",
            "required": false,
            "in": "query",
            "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.",
            "schema": {
              "minimum": 1,
              "maximum": 1000,
              "type": "number",
              "example": 50
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "The page index. The default is 0.",
            "schema": {
              "minimum": 0,
              "type": "number",
              "example": 0
            }
          },
          {
            "name": "searchFilter",
            "required": false,
            "in": "query",
            "description": "Number search Filter",
            "schema": {
              "type": "string",
              "example": "+91"
            }
          },
          {
            "name": "skipNumberPool",
            "required": false,
            "in": "query",
            "description": "When true, exclude numbers assigned to number pools from the list.",
            "schema": {
              "default": true,
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "includeRcsSenderIds",
            "required": false,
            "in": "query",
            "description": "Include RCS Sender IDs",
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "Send `v3` to use the v3 response contract (AIP). This is the supported version value for these endpoints.",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success envelope; v3 list details are in `data` (including `isUnderCrm` instead of legacy `isUnderCrm`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/phone_system_v3_ListNumbersV3Http200ResponseDto"
                }
              }
            }
          }
        },
        "tags": [
          "phone"
        ],
        "security": [
          {
            "Location-Access": [
              "phonenumbers.read"
            ]
          }
        ]
      }
    },
    "/products/bulk-update": {
      "post": {
        "operationId": "bulkUpdate",
        "summary": "Bulk Update Products",
        "description": "API to bulk update products (price, availability, collections, delete)",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_BulkUpdateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Products updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_BulkUpdateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          }
        ]
      }
    },
    "/products/bulk-update/edit": {
      "post": {
        "operationId": "bulkEdit",
        "summary": "Bulk Edit Products and Prices",
        "description": "API to bulk edit products and their associated prices (max 30 entities)",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_BulkEditRequestDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Products and prices updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_BulkEditResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{productId}/price": {
      "post": {
        "operationId": "create-price-for-product",
        "summary": "Create Price for a Product",
        "description": "The \"Create Price for a Product\" API allows adding a new price associated with a specific product to the system. Use this endpoint to create a price with the specified details for a particular product. Ensure that the required information is provided in the request payload.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID of the product that needs to be used",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_CreatePriceDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_CreatePriceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.write"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-prices-for-product",
        "summary": "List Prices for a Product",
        "description": "The \"List Prices for a Product\" API allows retrieving a paginated list of prices associated with a specific product. Customize your results by filtering prices or paginate through the list using the provided query parameters.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID of the product that needs to be used",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "The unique identifier for the location.",
            "schema": {
              "example": "3SwdhCsvxI8Au3KsPJt6",
              "type": "string"
            }
          },
          {
            "name": "ids",
            "required": false,
            "in": "query",
            "description": "To filter the response only with the given price ids, Please provide with comma separated",
            "schema": {
              "example": "6241712be68f7a98102ba272,632027d51f7876cd3020213d",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_ListPricesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.readonly"
            ]
          }
        ]
      }
    },
    "/products/inventory": {
      "get": {
        "operationId": "get-list-inventory",
        "summary": "List Inventory",
        "description": "The \"List Inventory API allows the user to retrieve a paginated list of inventory items. Use this endpoint to fetch details for multiple items in the inventory based on the provided query parameters.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search string for Variant Search",
            "schema": {
              "example": "Product Name",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_GetInventoryResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "update-inventory",
        "summary": "Update Inventory",
        "description": "The Update Inventory API allows the user to bulk update the inventory for multiple items. Use this endpoint to update the available quantity and out-of-stock purchase settings for multiple items in the inventory.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateInventoryDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdateInventoryResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.write"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.write"
            ]
          }
        ]
      }
    },
    "/products/{productId}/price/{priceId}": {
      "get": {
        "operationId": "get-price-by-id-for-product",
        "summary": "Get Price by ID for a Product",
        "description": "The \"Get Price by ID for a Product\" API allows retrieving information for a specific price associated with a particular product using its unique identifier. Use this endpoint to fetch details for a single price based on the provided price ID and product ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID of the product that needs to be used",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "priceId",
            "required": true,
            "in": "path",
            "description": "ID of the price that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_GetPriceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.readonly"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-price-by-id-for-product",
        "summary": "Update Price by ID for a Product",
        "description": "The \"Update Price by ID for a Product\" API allows modifying information for a specific price associated with a particular product using its unique identifier. Use this endpoint to update details for a single price based on the provided price ID and product ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID of the product that needs to be used",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "priceId",
            "required": true,
            "in": "path",
            "description": "ID of the price that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdatePriceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdatePriceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.write"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-price-by-id-for-product",
        "summary": "Delete Price by ID for a Product",
        "description": "The \"Delete Price by ID for a Product\" API allows deleting a specific price associated with a particular product using its unique identifier. Use this endpoint to remove a price from the system.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID of the product that needs to be used",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "priceId",
            "required": true,
            "in": "path",
            "description": "ID of the price that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_DeletePriceResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Prices"
        ],
        "security": [
          {
            "Location-Access": [
              "products/prices.write"
            ]
          },
          {
            "Agency-Access": [
              "products/prices.write"
            ]
          }
        ]
      }
    },
    "/products/store/{storeId}/stats": {
      "get": {
        "operationId": "get-product-store-stats",
        "summary": "Fetch Product Store Stats",
        "description": "API to fetch the total number of products, included in the store, and excluded from the store and other stats",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "storeId",
            "required": true,
            "in": "path",
            "description": "Products related to the store",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "The name of the product for searching.",
            "schema": {
              "example": "Awesome product",
              "type": "string"
            }
          },
          {
            "name": "collectionIds",
            "required": false,
            "in": "query",
            "description": "Filter by product collection Ids. Supports comma separated values",
            "schema": {
              "example": "65c2789a812e52f9bd6ec577,65c2789a812e52de9a6ec576",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_GetProductStatsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Store"
        ],
        "security": [
          {
            "Location-Access": [
              "products.readonly"
            ]
          }
        ]
      }
    },
    "/products/store/{storeId}": {
      "post": {
        "operationId": "update-store-status",
        "summary": "Action to include/exclude the product in store",
        "description": "API to update the status of products in a particular store",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "storeId",
            "required": true,
            "in": "path",
            "description": "Products related to the store",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateProductStoreDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdateProductStoreResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Store"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          }
        ]
      }
    },
    "/products/store/{storeId}/priority": {
      "post": {
        "operationId": "update-display-priority",
        "summary": "Update product display priorities in store",
        "description": "API to set the display priority of products in a store",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "storeId",
            "required": true,
            "in": "path",
            "description": "Products related to the store",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateDisplayPriorityBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated display priorities"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Store"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/products/collections": {
      "get": {
        "operationId": "get-product-collection",
        "summary": "Fetch Product Collections",
        "description": "Internal API to fetch the Product Collections",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 10,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "The type of alt. For now it is only LOCATION",
            "schema": {
              "example": "LOCATION",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "collectionIds",
            "required": false,
            "in": "query",
            "description": "Ids of the collections separated by comma(,) for search purposes",
            "schema": {
              "example": "65d71377c326ea78e1c47df5,65d71377c326ea78e1c47d34",
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "description": "Query to search collection based on names",
            "schema": {
              "example": "Best Sellers",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_ListCollectionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "Location-Access": [
              "products/collection.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-product-collection",
        "summary": "Create Product Collection",
        "description": "Create a new Product Collection for a specific location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_CreateProductCollectionsDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_CreateCollectionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "Location-Access": [
              "products/collection.write"
            ]
          }
        ]
      }
    },
    "/products/collections/{collectionId}": {
      "get": {
        "operationId": "get-product-collection-id",
        "summary": "Get Details about individual product collection",
        "description": "Get Details about individual product collection",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "collectionId",
            "required": true,
            "in": "path",
            "description": "Collection Id",
            "schema": {
              "example": "65d71377c326ea78e1c47df5",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "3SwdhCsvxI8Au3KsPJt6",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_DefaultCollectionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "Location-Access": [
              "products/collection.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-product-collection",
        "summary": "Update Product Collection",
        "description": "Update a specific product collection with Id :collectionId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "collectionId",
            "required": true,
            "in": "path",
            "description": "MongoId of the collection",
            "schema": {
              "example": "65d71377c326ea78e1c47df5",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateProductCollectionsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdateProductCollectionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "Location-Access": [
              "products/collection.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-product-collection",
        "summary": "Delete Product Collection",
        "description": "Delete specific product collection with Id :collectionId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "collectionId",
            "required": true,
            "in": "path",
            "description": "MongoId of the collection",
            "schema": {
              "example": "65d71377c326ea78e1c47df5",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "description": "The type of alt. For now it is only LOCATION",
            "schema": {
              "example": "LOCATION",
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_DeleteProductCollectionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Collections"
        ],
        "security": [
          {
            "Location-Access": [
              "products/collection.write"
            ]
          }
        ]
      }
    },
    "/products/reviews": {
      "get": {
        "operationId": "get-product-reviews",
        "summary": "Fetch Product Reviews",
        "description": "API to fetch the Product Reviews",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "sortField",
            "required": false,
            "in": "query",
            "description": "The field upon which the sort should be applied",
            "schema": {
              "example": "rating",
              "enum": [
                "createdAt",
                "rating"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "required": false,
            "in": "query",
            "description": "The order of sort which should be applied for the sortField",
            "schema": {
              "example": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "name": "rating",
            "required": false,
            "in": "query",
            "description": "Key to filter the ratings ",
            "schema": {
              "example": 4,
              "type": "number"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "The start date for filtering reviews",
            "schema": {
              "example": "2023-01-01T00:00:00Z",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "The end date for filtering reviews",
            "schema": {
              "example": "2023-12-31T23:59:59Z",
              "type": "string"
            }
          },
          {
            "name": "productId",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of product IDs",
            "schema": {
              "example": "60d21b4667d0d8992e610c88,60d21b4667d0d8992e610c89,60d21b4667d0d8992e610c8a",
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of store IDs",
            "schema": {
              "example": "60d21b4667d0d8992e610c85,60d21b4667d0d8992e610c86,60d21b4667d0d8992e610c87",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_ListProductReviewsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Reviews"
        ],
        "security": [
          {
            "Location-Access": [
              "products.readonly"
            ]
          }
        ]
      }
    },
    "/products/reviews/count": {
      "get": {
        "operationId": "get-reviews-count",
        "summary": "Fetch Review Count as per status",
        "description": "API to fetch the Review Count as per status",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "rating",
            "required": false,
            "in": "query",
            "description": "Key to filter the ratings ",
            "schema": {
              "example": 4,
              "type": "number"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "The start date for filtering reviews",
            "schema": {
              "example": "2023-01-01T00:00:00Z",
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "The end date for filtering reviews",
            "schema": {
              "example": "2023-12-31T23:59:59Z",
              "type": "string"
            }
          },
          {
            "name": "productId",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of product IDs",
            "schema": {
              "example": "60d21b4667d0d8992e610c88,60d21b4667d0d8992e610c89,60d21b4667d0d8992e610c8a",
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "required": false,
            "in": "query",
            "description": "Comma-separated list of store IDs",
            "schema": {
              "example": "60d21b4667d0d8992e610c85,60d21b4667d0d8992e610c86,60d21b4667d0d8992e610c87",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_CountReviewsByStatusResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Reviews"
        ],
        "security": [
          {
            "Location-Access": [
              "products.readonly"
            ]
          }
        ]
      }
    },
    "/products/reviews/{reviewId}": {
      "put": {
        "operationId": "update-product-review",
        "summary": "Update Product Reviews",
        "description": "Update status, reply, etc of a particular review",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "reviewId",
            "required": true,
            "in": "path",
            "description": "Review Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateProductReviewDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdateProductReviewsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Reviews"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-product-review",
        "summary": "Delete Product Review",
        "description": "Delete specific product review",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "reviewId",
            "required": true,
            "in": "path",
            "description": "Review Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "query",
            "description": "Product Id of the product",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_DeleteProductReviewResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Reviews"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          }
        ]
      }
    },
    "/products/reviews/bulk-update": {
      "post": {
        "operationId": "bulk-update-product-review",
        "summary": "Update Product Reviews",
        "description": "Update one or multiple product reviews: status, reply, etc.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateProductReviewsDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdateProductReviewsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Reviews"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          }
        ]
      }
    },
    "/products/{productId}": {
      "get": {
        "operationId": "get-product-by-id",
        "summary": "Get Product by ID",
        "description": "The \"Get Product by ID\" API allows to retrieve information for a specific product using its unique identifier. Use this endpoint to fetch details for a single product based on the provided product ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID or the slug of the product that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "sendWishlistStatus",
            "required": false,
            "in": "query",
            "description": "Parameter which will decide whether to show the wishlisting status of products",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_GetProductResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Product not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ],
        "security": [
          {
            "Location-Access": [
              "products.readonly"
            ]
          },
          {
            "Agency-Access": [
              "products.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-product-by-id",
        "summary": "Delete Product by ID",
        "description": "The \"Delete Product by ID\" API allows deleting a specific product using its unique identifier. Use this endpoint to remove a product from the system.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID or the slug of the product that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "location Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "sendWishlistStatus",
            "required": false,
            "in": "query",
            "description": "Parameter which will decide whether to show the wishlisting status of products",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_DeleteProductResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          },
          {
            "Agency-Access": [
              "products.write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-product-by-id",
        "summary": "Update Product by ID",
        "description": "The \"Update Product by ID\" API allows modifying information for a specific product using its unique identifier. Use this endpoint to update details for a single product based on the provided product ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "description": "ID or the slug of the product that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_UpdateProductDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_UpdateProductResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          },
          {
            "Agency-Access": [
              "products.write"
            ]
          }
        ]
      }
    },
    "/products/": {
      "post": {
        "operationId": "create-product",
        "summary": "Create Product",
        "description": "The \"Create Product\" API allows adding a new product to the system. Use this endpoint to create a product with the specified details. Ensure that the required information is provided in the request payload.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/products_v3_CreateProductDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_CreateProductResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ],
        "security": [
          {
            "Location-Access": [
              "products.write"
            ]
          },
          {
            "Agency-Access": [
              "products.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-invoices",
        "summary": "List Products",
        "description": "The \"List Products\" API allows to retrieve a paginated list of products. Customize your results by filtering products based on name or paginate through the list using the provided query parameters. This endpoint provides a straightforward way to explore and retrieve product information.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "LocationId is the id of the sub-account",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "The name of the product for searching.",
            "schema": {
              "example": "Awesome product",
              "type": "string"
            }
          },
          {
            "name": "collectionIds",
            "required": false,
            "in": "query",
            "description": "Filter by product category Ids. Supports comma separated values",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collectionSlug",
            "required": false,
            "in": "query",
            "description": "The slug value of the collection by which the collection would be searched",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expand",
            "required": false,
            "in": "query",
            "description": "Name of an entity whose data has to be fetched along with product. Possible entities are tax, stripe and paypal. If not mentioned, only ID will be returned in case of taxes",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "productIds",
            "required": false,
            "in": "query",
            "description": "List of product ids to be fetched.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "storeId",
            "required": false,
            "in": "query",
            "description": "fetch and project products based on the storeId",
            "schema": {
              "example": "3SwdhCu3svxI8AKsPJt6",
              "type": "string"
            }
          },
          {
            "name": "includedInStore",
            "required": false,
            "in": "query",
            "description": "Separate products by which are included in the store and which are not",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "availableInStore",
            "required": false,
            "in": "query",
            "description": "If the product is included in the online store",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "sortOrder",
            "required": false,
            "in": "query",
            "description": "The order of sort which should be applied for the date",
            "schema": {
              "example": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/products_v3_ListProductsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Products"
        ],
        "security": [
          {
            "Location-Access": [
              "products.readonly"
            ]
          },
          {
            "Agency-Access": [
              "products.readonly"
            ]
          }
        ]
      }
    },
    "/proposals/document": {
      "get": {
        "operationId": "list-documents-contracts",
        "summary": "List documents",
        "description": "List documents for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "hTlkh7t8gujsahgg93",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Document status, pass as comma separated values",
            "schema": {
              "example": "draft",
              "enum": [
                "draft",
                "sent",
                "viewed",
                "completed",
                "accepted"
              ],
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "required": false,
            "in": "query",
            "description": "Payment status, pass as comma separated values",
            "schema": {
              "example": "paid",
              "enum": [
                "waiting_for_payment",
                "paid",
                "no_payment"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit to fetch number of records",
            "schema": {
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Skip number of records",
            "schema": {
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Search string",
            "schema": {
              "example": "document",
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "required": false,
            "in": "query",
            "description": "Date start from (ISO 8601), dateFrom & DateTo must be provided together",
            "schema": {
              "example": "2025-02-03T18:30:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "required": false,
            "in": "query",
            "description": "Date to (ISO 8601), dateFrom & DateTo must be provided together",
            "schema": {
              "example": "2025-02-14T18:29:59.999Z",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Document fetched successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/proposals_v3_DocumentListResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ],
        "tags": [
          "Documents"
        ]
      }
    },
    "/proposals/document/send": {
      "post": {
        "operationId": "send-documents-contracts",
        "summary": "Send document",
        "description": "Send document to a client",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/proposals_v3_SendDocumentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Document sent successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/proposals_v3_SendDocumentResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ],
        "tags": [
          "Documents"
        ]
      }
    },
    "/proposals/templates": {
      "get": {
        "operationId": "list-documents-contracts-templates",
        "summary": "List templates",
        "description": "List document contract templates for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "schema": {
              "example": "jhg64gjhb436fv",
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "required": false,
            "in": "query",
            "description": "Date start from (ISO 8601)",
            "schema": {
              "example": "2025-02-03T18:30:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "required": false,
            "in": "query",
            "description": "Date to (ISO 8601)",
            "schema": {
              "example": "2025-02-14T18:29:59.999Z",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Comma-separated template types. Valid values: proposal, estimate, contentLibrary",
            "schema": {
              "example": "proposal,estimate",
              "type": "string"
            }
          },
          {
            "name": "name",
            "required": false,
            "in": "query",
            "description": "Template Name",
            "schema": {
              "example": "Template Name",
              "type": "string"
            }
          },
          {
            "name": "isPublicDocument",
            "required": false,
            "in": "query",
            "description": "If the docForm is a DocForm",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "userId",
            "required": false,
            "in": "query",
            "description": "User Id, required when isPublicDocument is true",
            "schema": {
              "example": "1234567890",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit",
            "schema": {
              "example": "10",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Skip",
            "schema": {
              "example": "0",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Templates fetched successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/proposals_v3_TemplateListPaginationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ],
        "tags": [
          "Templates"
        ]
      }
    },
    "/proposals/templates/send": {
      "post": {
        "operationId": "send-documents-contracts-template",
        "summary": "Send template",
        "description": "Send template to a client",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/proposals_v3_SendDocumentFromPublicApiBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Document sent successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/proposals_v3_SendTemplateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": []
          },
          {
            "Agency-Access": []
          }
        ],
        "tags": [
          "Templates"
        ]
      }
    },
    "/saas-api/public-api/locations": {
      "get": {
        "operationId": "locations-deprecated",
        "summary": "Get locations by stripeId with companyId",
        "description": "Get locations by stripeCustomerId or stripeSubscriptionId with companyId",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "customerId",
            "required": false,
            "in": "query",
            "description": "Stripe customer ID to find locations for",
            "example": "cus_OD2oBjRfKEF6FV",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "required": false,
            "in": "query",
            "description": "Stripe subscription ID to find locations for",
            "example": "sub_1NVqlLByVlfITvRXgirIdpyc",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "description": "Company ID to filter locations",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Locations retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/update-saas-subscription/{locationId}": {
      "put": {
        "operationId": "generate-payment-link-deprecated",
        "summary": "Update SaaS subscription",
        "description": "Update SaaS subscription for given locationId and customerId",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID to update subscription for",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_UpdateSubscriptionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SaaS subscription updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/bulk-disable-saas/{companyId}": {
      "post": {
        "operationId": "bulk-disable-saas-deprecated",
        "summary": "Disable SaaS for locations",
        "description": "Disable SaaS for locations for given locationIds",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID to disable SaaS for",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_BulkDisableSaasDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SaaS disabled successfully for locations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_BulkDisableSaasResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/enable-saas/{locationId}": {
      "post": {
        "operationId": "enable-saas-location-deprecated",
        "summary": "Enable SaaS for Sub-Account (Formerly Location)",
        "description": "<div>\n                  <p>Enable SaaS for Sub-Account (Formerly Location) based on the data provided</p> \n                  <div>\n<span>\n                     :::info\n This feature is only available on Agency Pro ($497) plan.\n :::  \n </span>\n                  </div>\n                </div>\n    ",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID to enable SaaS for",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_EnableSaasDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SaaS enabled successfully for location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_EnableSaasResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/pause/{locationId}": {
      "post": {
        "operationId": "pause-location-deprecated",
        "summary": "Pause location",
        "description": "Pause Sub account for given locationId",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID to pause/unpause",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_PauseLocationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Location paused/unpaused successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/update-rebilling/{companyId}": {
      "post": {
        "operationId": "update-rebilling-deprecated",
        "summary": "Update Rebilling",
        "description": "Bulk update rebilling for given locationIds",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID to update rebilling for",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_UpdateRebillingDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Rebilling updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_UpdateRebillingResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/agency-plans/{companyId}": {
      "get": {
        "operationId": "get-agency-plans-deprecated",
        "summary": "Get Agency Plans",
        "description": "Fetch all agency subscription plans for a given company ID",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID to get agency plans for",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency plans retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/saas_v3_AgencyPlanResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/get-saas-subscription/{locationId}": {
      "get": {
        "operationId": "get-location-subscription-deprecated",
        "summary": "Get Location Subscription Details",
        "description": "Fetch subscription details for a specific location from location metadata",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID to get subscription details for",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "description": "Company ID to filter subscription details",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Location subscription details retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_LocationSubscriptionResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/bulk-enable-saas/{companyId}": {
      "post": {
        "operationId": "bulk-enable-saas-deprecated",
        "summary": "Bulk Enable SaaS",
        "description": "Enable SaaS mode for multiple locations with support for both SaaS v1 and v2",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID to enable SaaS for",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_BulkEnableSaasRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bulk SaaS enable operation completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_BulkEnableSaasResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/saas-locations/{companyId}": {
      "get": {
        "operationId": "get-saas-locations-deprecated",
        "summary": "Get SaaS Locations",
        "description": "Fetch all SaaS-activated locations for a company with pagination",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID to get SaaS locations for",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page number for pagination",
            "example": 1,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SaaS locations retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_GetSaasLocationsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas-api/public-api/saas-plan/{planId}": {
      "get": {
        "operationId": "get-saas-plan-deprecated",
        "summary": "Get SaaS Plan",
        "description": "Fetch a specific SaaS plan by plan ID",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "planId",
            "required": true,
            "in": "path",
            "description": "Plan ID to get SaaS plan details for",
            "example": "66c4d36534f21f900dc2a265",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "description": "Company ID to filter SaaS plan",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SaaS plan retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_SaasPlanResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/locations": {
      "get": {
        "operationId": "locations",
        "summary": "Get locations by stripeId with companyId",
        "description": "Get locations by stripeCustomerId or stripeSubscriptionId with companyId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "customerId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/update-saas-subscription/{locationId}": {
      "put": {
        "operationId": "generate-payment-link",
        "summary": "Update SaaS subscription",
        "description": "Update SaaS subscription for given locationId and customerId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_UpdateSubscriptionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/bulk-disable-saas/{companyId}": {
      "post": {
        "operationId": "bulk-disable-saas",
        "summary": "Disable SaaS for locations",
        "description": "Disable SaaS for locations for given locationIds",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_BulkDisableSaasDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/enable-saas/{locationId}": {
      "post": {
        "operationId": "enable-saas-location",
        "summary": "Enable SaaS for Sub-Account (Formerly Location)",
        "description": "<div>\n                  <p>Enable SaaS for Sub-Account (Formerly Location) based on the data provided</p> \n                  <div>\n<span>\n                     :::info\n This feature is only available on Agency Pro ($497) plan.\n :::  \n </span>\n                  </div>\n                </div>\n    ",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_EnableSaasDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/pause/{locationId}": {
      "post": {
        "operationId": "pause-location",
        "summary": "Pause location",
        "description": "Pause Sub account for given locationId",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_PauseLocationDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/update-rebilling/{companyId}": {
      "post": {
        "operationId": "update-rebilling",
        "summary": "Update Rebilling",
        "description": "Bulk update rebilling for given locationIds",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_UpdateRebillingDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/agency-plans/{companyId}": {
      "get": {
        "operationId": "get-agency-plans",
        "summary": "Get Agency Plans",
        "description": "Fetch all agency subscription plans for a given company ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/get-saas-subscription/{locationId}": {
      "get": {
        "operationId": "get-location-subscription",
        "summary": "Get Location Subscription Details",
        "description": "Fetch subscription details for a specific location from location metadata",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/bulk-enable-saas/{companyId}": {
      "post": {
        "operationId": "bulk-enable-saas",
        "summary": "Bulk Enable SaaS",
        "description": "Enable SaaS mode for multiple locations with support for both SaaS v1 and v2",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_BulkEnableSaasRequestDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/saas-locations/{companyId}": {
      "get": {
        "operationId": "get-saas-locations",
        "summary": "Get SaaS Locations",
        "description": "Fetch all SaaS-activated locations for a company with pagination",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": true,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/saas/saas-plan/{planId}": {
      "get": {
        "operationId": "get-saas-plan",
        "summary": "Get SaaS Plan",
        "description": "Fetch a specific SaaS plan by plan ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "planId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/snapshots/": {
      "get": {
        "operationId": "get-custom-snapshots",
        "summary": "Get Snapshots",
        "description": "Get a list of all own and imported Snapshots",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "example": "5D112kQsiKESj6rash",
            "description": "Company Id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/snapshots_v3_GetSnapshotsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Snapshots"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/snapshots/share/link": {
      "post": {
        "operationId": "create-snapshot-share-link",
        "summary": "Create Snapshot Share Link",
        "description": "Create a share link for snapshot",
        "parameters": [
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/snapshots_v3_CreateSnapshotShareLinkRequestDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/snapshots_v3_CreateSnapshotShareLinkSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Snapshots"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/snapshots/snapshot-status/{snapshotId}": {
      "get": {
        "operationId": "get-snapshot-push",
        "summary": "Get Snapshot Push between Dates",
        "description": "Get list of sub-accounts snapshot pushed in time period",
        "parameters": [
          {
            "name": "snapshotId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string",
              "example": "39It2BFz7EkNaNBALPif"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string",
              "example": "5D112kQsiKESj6rash"
            }
          },
          {
            "name": "from",
            "required": true,
            "description": "Only accepts ISO 8601 format",
            "in": "query",
            "schema": {
              "type": "string",
              "example": "2022-10-10T12:00:00Z or 2022-10-10"
            }
          },
          {
            "name": "to",
            "required": true,
            "description": "Only accepts ISO 8601 format",
            "in": "query",
            "schema": {
              "type": "string",
              "example": "2023-12-18T11:59:59Z or 2023-12-18"
            }
          },
          {
            "name": "lastDoc",
            "required": true,
            "description": "Id for last document till what you want to skip",
            "in": "query",
            "schema": {
              "type": "string",
              "example": "VUJO4Sw2TrDNZ5lx4wZg"
            }
          },
          {
            "name": "limit",
            "required": false,
            "description": "Limit of documents to return. Default is 20",
            "in": "query",
            "schema": {
              "type": "string",
              "example": "10"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/snapshots_v3_GetSnapshotPushStatusSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Snapshots"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/snapshots/snapshot-status/{snapshotId}/location/{locationId}": {
      "get": {
        "operationId": "get-latest-snapshot-push",
        "summary": "Get Last Snapshot Push",
        "description": "Get Latest Snapshot Push Status for a location id",
        "parameters": [
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string",
              "example": "5D112kQsiKESj6rash"
            }
          },
          {
            "name": "snapshotId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string",
              "example": "39It2BFz7EkNaNBALPif"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string",
              "example": "IIRGHCgxSINdPT79M75P"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/snapshots_v3_GetLatestSnapshotPushStatusSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Snapshots"
        ],
        "security": [
          {
            "Agency-Access": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/google/start": {
      "get": {
        "operationId": "start-google-oauth",
        "summary": "Starts OAuth For Google Account",
        "description": "Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Google login OAuth screen. On successful login, listen on window object for message where event listener returns data in its callback function. \n  ### Sample code to listen to event data:\n    window.addEventListener('message', \n      function(e) {\n        if (e.data && e.data.page === 'social_media_posting') {\n        const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data\n        }\n      },\n    false)\n  ### Event Data Response:\n    {\n      actionType: string,            Ex: \"close\" \n      page: string,                  Ex: \"social-media-posting\" \n      platform: string,              Ex: \"google\" \n      placement: string,             Ex: \"placement\" \n      accountId: string,             Ex: \"658a9b6833b91e0ecb8f3958\" \n      reconnectAccounts: string[]]   Ex: [\"658a9b6833b91e0ecb834acd\", \"efd2daa9b6833b91e0ecb8f3511\"] \n    }\n  ### The accountId retrieved from above data can be used to fetch Google account details using below API -\n  API: '/social-media-posting/oauth/google/accounts/:accountId' \n\n  Method: GET",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Google"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/oauth.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/google/locations/{accountId}": {
      "get": {
        "operationId": "get-google-locations",
        "summary": "Get google business locations",
        "description": "Get google business locations",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetGoogleLocationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Google"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "post": {
        "operationId": "set-google-locations",
        "summary": "Set google business locations",
        "description": "Set google business locations",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_media_posting_AttachGMBLocationDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_SocialMediaGmbAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Google"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/posts/list": {
      "post": {
        "operationId": "get-posts",
        "summary": "Get posts",
        "description": "Get Posts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_SearchPostDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_PostSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Post"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/post.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/posts": {
      "post": {
        "operationId": "create-post",
        "summary": "Create post",
        "description": "Create posts for all supported platforms. It is possible to create customized posts per channel by using the same platform account IDs in a request and hitting the create post API multiple times with different summaries and account IDs per platform.\n\nThe content and media limitations, as well as platform rate limiters corresponding to the respective platforms, are provided in the following reference link:\n\n  Link: [Platform Limitations](https://docs.crm.gesvision.com/guides/platform-limitations \"Social Planner Help\")",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CreatePostDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_CreatePostSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Post"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/post.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/posts/{id}": {
      "get": {
        "operationId": "get-post",
        "summary": "Get post",
        "description": "Get post",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Post Id",
            "example": "65fac446d599990d1313c1dd",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetPostSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Post"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "put": {
        "operationId": "edit-post",
        "summary": "Edit post",
        "description": "Create posts for all supported platforms. It is possible to create customized posts per channel by using the same platform account IDs in a request and hitting the create post API multiple times with different summaries and account IDs per platform.\n\nThe content and media limitations, as well as platform rate limiters corresponding to the respective platforms, are provided in the following reference link:\n\n  Link: [Platform Limitations](https://docs.crm.gesvision.com/guides/platform-limitations \"Social Planner Help\")",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Post Id",
            "example": "65fac446d599990d1313c1dd",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CreatePostDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_UpdatePostSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Post"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-post",
        "summary": "Delete Post",
        "description": "Delete Post",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Post Id",
            "example": "65fac446d599990d1313c1dd",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_DeletePostSuccessfulResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Post"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/posts/bulk-delete": {
      "post": {
        "operationId": "bulk-delete-social-planner-posts",
        "summary": "Bulk Delete Social Planner Posts",
        "description": "Deletes multiple posts based on the provided list of post IDs. \n                  This operation is useful for clearing up large numbers of posts efficiently. \n                  \nNote: \n                  \n1.The maximum number of posts that can be deleted in a single request is '50'.\n                  \n2.However, It will only get deleted in CRM database but still\n                   it is recommended to be cautious of this operation.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_DeletePostsDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Posts deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_BulkDeleteResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Cannot delete more than 50 posts at a time.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "No posts found with the given IDs."
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          },
          "500": {
            "description": "An error occurred while trying to delete the posts. Please try again later."
          }
        },
        "tags": [
          "Post"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/accounts": {
      "get": {
        "operationId": "get-account",
        "summary": "Get Accounts",
        "description": "Get list of accounts and groups",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_AccountsListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Account"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/account.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/accounts/{id}": {
      "delete": {
        "operationId": "delete-account",
        "summary": "Delete Account",
        "description": "Delete account and account from group",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Id",
            "example": "65fac446d599990d1313c1dd",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "required": false,
            "in": "query",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": false,
            "in": "query",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_LocationAndAccountDeleteResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Account"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/facebook/start": {
      "get": {
        "operationId": "start-facebook-oauth",
        "summary": "Starts OAuth For Facebook Account",
        "description": "Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Facebook login OAuth screen. On successful login, listen on window object for message where event listener returns data in its callback function. \n  ### Sample code to listen to event data:\n    window.addEventListener('message', \n      function(e) {\n        if (e.data && e.data.page === 'social_media_posting') {\n        const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data\n        }\n      },\n    false)\n  ### Event Data Response:\n    {\n      actionType: string,            Ex: \"close\" \n      page: string,                  Ex: \"social-media-posting\" \n      platform: string,              Ex: \"facebook\" \n      placement: string,             Ex: \"placement\" \n      accountId: string,             Ex: \"658a9b6833b91e0ecb8f3958\" \n      reconnectAccounts: string[]]   Ex: [\"658a9b6833b91e0ecb834acd\", \"efd2daa9b6833b91e0ecb8f3511\"] \n    }\n  ### The accountId retrieved from above data can be used to fetch Facebook account details using below API -\n  API: '/social-media-posting/oauth/facebook/accounts/:accountId' \n\n  Method: GET",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User ID",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Facebook Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect boolean as string",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Facebook"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/facebook/accounts/{accountId}": {
      "get": {
        "operationId": "get-facebook-page-group",
        "summary": "Get facebook pages",
        "description": "Get facebook pages",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response, runs Facebook OAuth and redirects to application",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetFacebookAccountsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Facebook"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "post": {
        "operationId": "attach-facebook-page-group",
        "summary": "Attach facebook pages",
        "description": "Attach facebook pages",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_media_posting_AttachFBAccountDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_SocialMediaFBAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Facebook"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/instagram/start": {
      "get": {
        "operationId": "start-instagram-oauth",
        "summary": "Starts OAuth For Instagram Account",
        "description": "Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Instagram login OAuth screen. On successful login, listen on window object for message where event listener returns data in its callback function. \n  ### Sample code to listen to event data:\n    window.addEventListener('message', \n      function(e) {\n        if (e.data && e.data.page === 'social_media_posting') {\n        const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data\n        }\n      },\n    false)\n  ### Event Data Response:\n    {\n      actionType: string,            Ex: \"close\" \n      page: string,                  Ex: \"social-media-posting\" \n      platform: string,              Ex: \"instagram\" \n      placement: string,             Ex: \"placement\" \n      accountId: string,             Ex: \"658a9b6833b91e0ecb8f3958\" \n      reconnectAccounts: string[]]   Ex: [\"658a9b6833b91e0ecb834acd\", \"efd2daa9b6833b91e0ecb8f3511\"] \n    }\n  ### The accountId retrieved from above data can be used to fetch Instagram account details using below API -\n  API: '/social-media-posting/oauth/instagram/accounts/:accountId' \n\n  Method: GET",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Instagram"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/oauth.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/instagram/accounts/{accountId}": {
      "get": {
        "operationId": "get-instagram-page-group",
        "summary": "Get Instagram Professional Accounts",
        "description": "Get Instagram Professional Accounts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetInstagramAccountsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Instagram"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "post": {
        "operationId": "attach-instagram-page-group",
        "summary": "Attach Instagram Professional Accounts",
        "description": "Attach Instagram Professional Accounts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_media_posting_AttachIGAccountDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_SocialMediaInstagramAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Instagram"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/linkedin/start": {
      "get": {
        "operationId": "start-linkedin-oauth",
        "summary": "Starts OAuth For LinkedIn Account",
        "description": "Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to LinkedIn login OAuth screen. On successful login, listen on window object for message where event listener returns data in its callback function. \n  ### Sample code to listen to event data:\n    window.addEventListener('message', \n      function(e) {\n        if (e.data && e.data.page === 'social_media_posting') {\n        const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data\n        }\n      },\n    false)\n  ### Event Data Response:\n    {\n      actionType: string,            Ex: \"close\" \n      page: string,                  Ex: \"social-media-posting\" \n      platform: string,              Ex: \"linkedin\" \n      placement: string,             Ex: \"placement\" \n      accountId: string,             Ex: \"658a9b6833b91e0ecb8f3958\" \n      reconnectAccounts: string[]]   Ex: [\"658a9b6833b91e0ecb834acd\", \"efd2daa9b6833b91e0ecb8f3511\"] \n    }\n  ### The accountId retrieved from above data can be used to fetch LinkedIn account details using below API -\n  API: '/social-media-posting/oauth/linkedin/accounts/:accountId' \n\n  Method: GET",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | LinkedIn"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/linkedin/accounts/{accountId}": {
      "get": {
        "operationId": "get-linkedin-page-profile",
        "summary": "Get Linkedin pages and profile",
        "description": "Get Linkedin pages and profile",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetLinkedInAccountsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | LinkedIn"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "post": {
        "operationId": "attach-linkedin-page-profile",
        "summary": "Attach linkedin pages and profile",
        "description": "Attach linkedin pages and profile",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_media_posting_AttachLinkedinAccountDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_SocialMediaLinkedInAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | LinkedIn"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/twitter/start": {
      "get": {
        "operationId": "start-twitter-oauth",
        "summary": "Starts OAuth For Twitter Account",
        "description": "<div><div>\n  <span style= \"display: inline-block;\n    width: 25px; height: 25px;\n    background-color: red;\n    color: black;\n    font-weight: bold;\n    font-size: 24px;\n    text-align: center;\n    line-height: 20px;\n    border: 2px solid black;\n    border-radius: 20%;\n    margin-right: 10px;\">\n    !\n  </span>\n  <span><strong>As of December 4, 2024, X (formerly Twitter) is no longer supported. We apologise for any inconvenience.</strong></span>\n</div></div>",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Twitter"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/oauth.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/twitter/accounts/{accountId}": {
      "get": {
        "operationId": "get-twitter-profile",
        "summary": "Get Twitter profile",
        "description": "<div><div>\n  <span style= \"display: inline-block;\n    width: 25px; height: 25px;\n    background-color: red;\n    color: black;\n    font-weight: bold;\n    font-size: 24px;\n    text-align: center;\n    line-height: 20px;\n    border: 2px solid black;\n    border-radius: 20%;\n    margin-right: 10px;\">\n    !\n  </span>\n  <span><strong>As of December 4, 2024, X (formerly Twitter) is no longer supported. We apologise for any inconvenience.</strong></span>\n</div></div>",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetTwitterAccountsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Twitter"
        ]
      },
      "post": {
        "operationId": "attach-twitter-profile",
        "summary": "Attach Twitter profile",
        "description": "<div><div>\n  <span style= \"display: inline-block;\n    width: 25px; height: 25px;\n    background-color: red;\n    color: black;\n    font-weight: bold;\n    font-size: 24px;\n    text-align: center;\n    line-height: 20px;\n    border: 2px solid black;\n    border-radius: 20%;\n    margin-right: 10px;\">\n    !\n  </span>\n  <span><strong>As of December 4, 2024, X (formerly Twitter) is no longer supported. We apologise for any inconvenience.</strong></span>\n</div></div>",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_media_posting_AttachTwitterAccountDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_SocialMediaTwitterAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Twitter"
        ]
      }
    },
    "/social-media-posting/{locationId}/csv": {
      "post": {
        "operationId": "upload-csv",
        "summary": "Upload CSV",
        "description": "Upload a CSV file containing social media posts for bulk scheduling",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "CSV file to upload containing social media posts",
                    "example": "sample.csv"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_UploadFileResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - File is required or CSV validation error",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/social_planner_v3_CSVFileRequiredBadRequestDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_CSVErrorResponseDTO"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/csv.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-upload-status",
        "summary": "Get Upload Status",
        "description": "Get the status of all CSV imports for a location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of records to skip",
            "example": "1",
            "schema": {
              "default": "0",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of records to return",
            "example": "10",
            "schema": {
              "default": "10",
              "type": "string"
            }
          },
          {
            "name": "includeUsers",
            "required": false,
            "in": "query",
            "description": "Include user data in response",
            "example": "true",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isFromTemplate",
            "required": false,
            "in": "query",
            "description": "Filter CSVs imported from template library",
            "schema": {
              "example": "true",
              "type": "string"
            },
            "example": "true"
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            },
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetUploadStatusResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/set-accounts": {
      "post": {
        "operationId": "set-accounts",
        "summary": "Set Accounts",
        "description": "Set social media accounts for a CSV import to publish posts to",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_SetAccountsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_SetAccountsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_SetAccountsUnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/csv.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/csv/{id}": {
      "get": {
        "operationId": "get-csv-post",
        "summary": "Get CSV Post",
        "description": "Get details of a specific CSV import including its posts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "CSV Id",
            "example": "65f92e55cc884f0d0845e447",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of records to skip",
            "example": "0",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of records to return",
            "example": "10",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetCsvPostResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "patch": {
        "operationId": "start-csv-finalize",
        "summary": "Start CSV Finalize",
        "description": "Finalize a CSV import and schedule all posts for publishing",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "CSV Id",
            "example": "65f92e55cc884f0d0845e447",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CSVDefaultDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_CsvPostStatusResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-csv",
        "summary": "Delete CSV",
        "description": "Delete a CSV import and all its associated posts",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "CSV Id",
            "example": "65f92e55cc884f0d0845e447",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_DeleteCsvResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/csv/{csvId}/post/{postId}": {
      "delete": {
        "operationId": "delete-csv-post",
        "summary": "Delete CSV Post",
        "description": "Delete a specific post from a CSV import",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postId",
            "required": true,
            "in": "path",
            "description": "CSV Post Id",
            "example": "65f92e55cc884f0d0845e447",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "csvId",
            "required": true,
            "in": "path",
            "description": "CSV Id",
            "example": "65f92e55cc884f0d0845e447",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_DeletePostResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "CSV"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/tiktok/start": {
      "get": {
        "operationId": "start-tiktok-oauth",
        "summary": "Starts OAuth For Tiktok Account",
        "description": "Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Tiktok login OAuth screen. On successful login, listen on window object for message where event listener returns data in its callback function. \n  ### Sample code to listen to event data:\n    window.addEventListener('message', \n      function(e) {\n        if (e.data && e.data.page === 'social_media_posting') {\n        const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data\n        }\n      },\n    false)\n  ### Event Data Response:\n    {\n      actionType: string,            Ex: \"close\" \n      page: string,                  Ex: \"social-media-posting\" \n      platform: string,              Ex: \"tiktok\" \n      placement: string,             Ex: \"placement\" \n      accountId: string,             Ex: \"658a9b6833b91e0ecb8f3958\" \n      reconnectAccounts: string[]]   Ex: [\"658a9b6833b91e0ecb834acd\", \"efd2daa9b6833b91e0ecb8f3511\"] \n    }\n  ### The accountId retrieved from above data can be used to fetch Tiktok account details using below API -\n  API: '/social-media-posting/oauth/tiktok/accounts/:accountId' \n\n  Method: GET",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Tiktok"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/oauth.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/tiktok/accounts/{accountId}": {
      "get": {
        "operationId": "get-tiktok-profile",
        "summary": "Get Tiktok profile",
        "description": "Get Tiktok profile",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetTiktokAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Tiktok"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      },
      "post": {
        "operationId": "attach-tiktok-profile",
        "summary": "Attach Tiktok profile",
        "description": "Attach Tiktok profile",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_media_posting_AttachTiktokAccountDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_SocialMediaTiktokAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Tiktok"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/oauth/tiktok-business/start": {
      "get": {
        "operationId": "start-tiktok-business-oauth",
        "summary": "Starts OAuth For Tiktok Business Account",
        "description": "Open the API in a window with appropriate params and headers instead of using the Curl. User is navigated to Tiktok-Business login OAuth screen. On successful login, listen on window object for message where event listener returns data in its callback function. \n  ### Sample code to listen to event data:\n    window.addEventListener('message', \n      function(e) {\n        if (e.data && e.data.page === 'social_media_posting') {\n        const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data\n        }\n      },\n    false)\n  ### Event Data Response:\n    {\n      actionType: string,            Ex: \"close\" \n      page: string,                  Ex: \"social-media-posting\" \n      platform: string,              Ex: \"tiktok-business\" \n      placement: string,             Ex: \"placement\" \n      accountId: string,             Ex: \"658a9b6833b91e0ecb8f3958\" \n      reconnectAccounts: string[]]   Ex: [\"658a9b6833b91e0ecb834acd\", \"efd2daa9b6833b91e0ecb8f3511\"] \n    }\n  ### The accountId retrieved from above data can be used to fetch Tiktok-Business account details using below API -\n  API: '/social-media-posting/oauth/tiktok-business/accounts/:accountId' \n\n  Method: GET",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Tiktok"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/oauth.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/tiktok-business/accounts/{accountId}": {
      "get": {
        "operationId": "get-tiktok-business-profile",
        "summary": "Get Tiktok Business profile",
        "description": "Get Tiktok Business profile",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_media_posting_GetTiktokBusinessAccountResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Oauth | Tiktok"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/categories": {
      "get": {
        "operationId": "get-categories-location-id",
        "summary": "Get categories by location id",
        "description": "Retrieve all categories for a specific location with optional search and pagination",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchText",
            "required": false,
            "in": "query",
            "description": "Search text string",
            "example": "test",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit",
            "example": "10",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Skip",
            "example": "0",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetByLocationIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/categories/{id}": {
      "get": {
        "operationId": "get-categories-id",
        "summary": "Get categories by id",
        "description": "Retrieve a specific category by its ID",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            },
            "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Category Id",
            "example": "6284c43d519161e96cc09c13",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "6284c43d519161e96cc09c13",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/tags": {
      "get": {
        "operationId": "get-tags-location-id",
        "summary": "Get tags by location id",
        "description": "Retrieve all tags for a specific location with optional search and pagination",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchText",
            "required": false,
            "in": "query",
            "description": "Search text string",
            "example": "test",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Limit",
            "example": 10,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Skip",
            "example": 0,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetTagsByLocationIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tag"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/{locationId}/tags/details": {
      "post": {
        "operationId": "get-tags-by-ids",
        "summary": "Get tags by ids",
        "description": "Retrieve specific tags by their IDs",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_UpdateTagDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_GetTagsByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Tag"
        ],
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/social-media-posting/statistics": {
      "post": {
        "operationId": "get-statistics",
        "summary": "Get Social Media Statistics",
        "description": "Retrieve analytics data for multiple social media accounts. Supports custom date ranges for both the current period and a comparison period. If no date ranges are provided, defaults to the last 7 days (excluding today) with comparison to the previous 7 days.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "example": "v3",
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "profileIds": {
                    "type": "array",
                    "description": "Array of connected social media account IDs to fetch analytics for. This can be found as 'profileId' in /accounts api.",
                    "items": {
                      "type": "string"
                    },
                    "example": [
                      "67a5a9aa776c837de4aa5b12"
                    ],
                    "minItems": 1,
                    "maxItems": 100
                  },
                  "platforms": {
                    "type": "array",
                    "description": "Array of social media platforms to filter analytics by. If not provided, all platforms will be included. NOTE: Linkedin (PAGE only) and Tiktok (BUSINESS only) are supported.",
                    "items": {
                      "type": "string",
                      "enum": [
                        "facebook",
                        "instagram",
                        "linkedin",
                        "google",
                        "pinterest",
                        "youtube",
                        "tiktok"
                      ]
                    },
                    "example": [
                      "facebook",
                      "instagram"
                    ]
                  },
                  "currentRange": {
                    "type": "object",
                    "description": "Custom date range for the current analytics period. If omitted, defaults to the last 7 days (excluding today) with automatic comparison to the previous 7 days.",
                    "properties": {
                      "startDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Start date in ISO 8601 format.",
                        "example": "2025-03-01T00:00:00.000Z"
                      },
                      "endDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "End date in ISO 8601 format. Must be after startDate.",
                        "example": "2025-03-31T23:59:59.999Z"
                      }
                    },
                    "required": [
                      "startDate",
                      "endDate"
                    ]
                  },
                  "prevRange": {
                    "type": "object",
                    "description": "Comparison date range. Can only be provided when currentRange is also present. If omitted while currentRange is present, no comparison data is returned.",
                    "properties": {
                      "startDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Start date in ISO 8601 format.",
                        "example": "2025-02-01T00:00:00.000Z"
                      },
                      "endDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "End date in ISO 8601 format. Must be after startDate.",
                        "example": "2025-02-28T23:59:59.999Z"
                      }
                    },
                    "required": [
                      "startDate",
                      "endDate"
                    ]
                  }
                },
                "required": [
                  "profileIds"
                ]
              },
              "examples": {
                "default-behavior": {
                  "summary": "Default behavior (backward compatible, no date ranges)",
                  "description": "Returns last 7 days (excluding today) with comparison to the previous 7 days.",
                  "value": {
                    "profileIds": [
                      "67a5a9aa776c837de4aa5b12"
                    ],
                    "platforms": [
                      "facebook",
                      "instagram"
                    ]
                  }
                },
                "custom-range-with-comparison": {
                  "summary": "Custom date range with comparison",
                  "value": {
                    "profileIds": [
                      "67a5a9aa776c837de4aa5b12"
                    ],
                    "platforms": [
                      "facebook",
                      "instagram"
                    ],
                    "currentRange": {
                      "startDate": "2025-03-01T00:00:00.000Z",
                      "endDate": "2025-03-31T23:59:59.999Z"
                    },
                    "prevRange": {
                      "startDate": "2025-02-01T00:00:00.000Z",
                      "endDate": "2025-02-28T23:59:59.999Z"
                    }
                  }
                },
                "custom-range-without-comparison": {
                  "summary": "Custom date range without comparison",
                  "value": {
                    "profileIds": [
                      "67a5a9aa776c837de4aa5b12"
                    ],
                    "platforms": [
                      "facebook",
                      "instagram"
                    ],
                    "currentRange": {
                      "startDate": "2025-03-01T00:00:00.000Z",
                      "endDate": "2025-03-31T23:59:59.999Z"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully retrieved analytics data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "object",
                      "description": "Analytics data grouped by metrics and platforms",
                      "example": {
                        "dayRange": [
                          "Mon",
                          "Tue",
                          "Wed",
                          "Thu",
                          "Fri",
                          "Sat",
                          "Sun"
                        ],
                        "totals": {
                          "posts": 0,
                          "likes": 0,
                          "followers": 0,
                          "impressions": 0,
                          "comments": 0
                        }
                      },
                      "properties": {
                        "dayRange": {
                          "type": "array",
                          "description": "Array of day names for the analytics period",
                          "items": {
                            "type": "string"
                          },
                          "example": [
                            "Mon",
                            "Tue",
                            "Wed",
                            "Thu",
                            "Fri",
                            "Sat",
                            "Sun"
                          ]
                        },
                        "totals": {
                          "type": "object",
                          "description": "Aggregated metrics totals",
                          "example": {
                            "posts": 0,
                            "likes": 0,
                            "followers": 0,
                            "impressions": 0,
                            "comments": 0
                          },
                          "properties": {
                            "posts": {
                              "type": "number",
                              "description": "Total number of posts published",
                              "example": 0
                            },
                            "likes": {
                              "type": "number",
                              "description": "Total number of likes received",
                              "example": 0
                            },
                            "followers": {
                              "type": "number",
                              "description": "Total number of followers across all platforms",
                              "example": 0
                            },
                            "impressions": {
                              "type": "number",
                              "description": "Total number of impressions across all posts",
                              "example": 0
                            },
                            "comments": {
                              "type": "number",
                              "description": "Total number of comments received",
                              "example": 0
                            }
                          }
                        },
                        "postPerformance": {
                          "type": "object",
                          "description": "Post performance metrics over time",
                          "example": {
                            "posts": {
                              "google": [
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0
                              ]
                            },
                            "impressions": [
                              0,
                              0,
                              0,
                              0,
                              0,
                              0,
                              0
                            ],
                            "likes": [
                              0,
                              0,
                              0,
                              0,
                              0,
                              0,
                              0
                            ],
                            "comments": [
                              0,
                              0,
                              0,
                              0,
                              0,
                              0,
                              0
                            ]
                          },
                          "properties": {
                            "posts": {
                              "type": "object",
                              "description": "Number of posts published per day, organized by platform",
                              "example": {
                                "google": [
                                  0,
                                  0,
                                  0,
                                  0,
                                  0,
                                  0,
                                  0
                                ],
                                "instagram": [
                                  2,
                                  1,
                                  3,
                                  0,
                                  1,
                                  2,
                                  4
                                ],
                                "facebook": [
                                  1,
                                  0,
                                  2,
                                  1,
                                  0,
                                  1,
                                  1
                                ],
                                "linkedin": [
                                  0,
                                  0,
                                  1,
                                  0,
                                  0,
                                  0,
                                  1
                                ],
                                "youtube": [
                                  0,
                                  0,
                                  0,
                                  1,
                                  0,
                                  0,
                                  0
                                ]
                              }
                            },
                            "impressions": {
                              "type": "array",
                              "description": "Daily impressions over the analytics period",
                              "example": [
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0
                              ],
                              "items": {
                                "type": "number"
                              }
                            },
                            "likes": {
                              "type": "array",
                              "description": "Daily likes over the analytics period",
                              "example": [
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0
                              ],
                              "items": {
                                "type": "number"
                              }
                            },
                            "comments": {
                              "type": "array",
                              "description": "Daily comments over the analytics period",
                              "example": [
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0
                              ],
                              "items": {
                                "type": "number"
                              }
                            }
                          }
                        },
                        "breakdowns": {
                          "type": "object",
                          "description": "Detailed breakdowns by metric and platform",
                          "example": {
                            "posts": {
                              "total": 0,
                              "totalChange": 0,
                              "platforms": {
                                "google": {
                                  "value": 0,
                                  "change": 0
                                }
                              }
                            }
                          },
                          "properties": {
                            "posts": {
                              "type": "object",
                              "description": "Post count breakdown by platform",
                              "example": {
                                "total": 356,
                                "totalChange": -39.35,
                                "platforms": {
                                  "instagram": {
                                    "value": 46,
                                    "change": -71.95
                                  }
                                }
                              },
                              "properties": {
                                "total": {
                                  "type": "number",
                                  "description": "Total number of posts across all platforms",
                                  "example": 356
                                },
                                "totalChange": {
                                  "type": "number",
                                  "description": "Percentage change in total posts compared to previous period",
                                  "example": -39.35
                                },
                                "platforms": {
                                  "type": "object",
                                  "description": "Platform-specific post counts with change percentages",
                                  "example": {
                                    "instagram": {
                                      "value": 46,
                                      "change": -71.95
                                    }
                                  },
                                  "additionalProperties": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "number",
                                        "description": "Number of posts for this platform",
                                        "example": 46
                                      },
                                      "change": {
                                        "type": "number",
                                        "description": "Percentage change compared to previous period",
                                        "example": -71.95
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "impressions": {
                              "type": "object",
                              "description": "Impressions breakdown by platform",
                              "example": {
                                "total": 944,
                                "totalChange": -49.68,
                                "platforms": {
                                  "instagram": {
                                    "value": 239,
                                    "change": 83.85
                                  }
                                }
                              },
                              "properties": {
                                "total": {
                                  "type": "number",
                                  "description": "Total impressions across all platforms",
                                  "example": 944
                                },
                                "totalChange": {
                                  "type": "number",
                                  "description": "Percentage change in total impressions compared to previous period",
                                  "example": -49.68
                                },
                                "platforms": {
                                  "type": "object",
                                  "description": "Platform-specific impression counts with change percentages",
                                  "example": {
                                    "instagram": {
                                      "value": 239,
                                      "change": 83.85
                                    }
                                  },
                                  "additionalProperties": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "number",
                                        "description": "Number of impressions for this platform",
                                        "example": 239
                                      },
                                      "change": {
                                        "type": "number",
                                        "description": "Percentage change compared to previous period",
                                        "example": 83.85
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "reach": {
                              "type": "object",
                              "description": "Reach breakdown by platform",
                              "example": {
                                "total": 354,
                                "totalChange": 98.88,
                                "platforms": {
                                  "instagram": {
                                    "value": 233,
                                    "change": 128.43
                                  }
                                }
                              },
                              "properties": {
                                "total": {
                                  "type": "number",
                                  "description": "Total reach across all platforms",
                                  "example": 354
                                },
                                "totalChange": {
                                  "type": "number",
                                  "description": "Percentage change in total reach compared to previous period",
                                  "example": 98.88
                                },
                                "platforms": {
                                  "type": "object",
                                  "description": "Platform-specific reach counts with change percentages",
                                  "example": {
                                    "instagram": {
                                      "value": 233,
                                      "change": 128.43
                                    }
                                  },
                                  "additionalProperties": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "number",
                                        "description": "Reach count for this platform",
                                        "example": 233
                                      },
                                      "change": {
                                        "type": "number",
                                        "description": "Percentage change compared to previous period",
                                        "example": 128.43
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "engagement": {
                              "type": "object",
                              "description": "Engagement metrics breakdown by platform",
                              "example": {
                                "instagram": {
                                  "likes": 0,
                                  "comments": 11,
                                  "shares": 0,
                                  "change": -66.67
                                }
                              },
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "likes": {
                                    "type": "number",
                                    "description": "Number of likes received on this platform",
                                    "example": 0
                                  },
                                  "comments": {
                                    "type": "number",
                                    "description": "Number of comments received on this platform",
                                    "example": 11
                                  },
                                  "shares": {
                                    "type": "number",
                                    "description": "Number of shares on this platform",
                                    "example": 0
                                  },
                                  "change": {
                                    "type": "number",
                                    "description": "Percentage change in engagement compared to previous period",
                                    "example": -66.67
                                  }
                                }
                              }
                            }
                          }
                        },
                        "platformTotals": {
                          "type": "object",
                          "description": "Platform-wise totals with time series data",
                          "example": {
                            "impressions": {
                              "instagram": {
                                "total": 239,
                                "series": [
                                  22,
                                  6,
                                  4,
                                  69,
                                  138,
                                  0,
                                  0
                                ]
                              }
                            }
                          },
                          "properties": {
                            "impressions": {
                              "type": "object",
                              "description": "Daily impression counts by platform",
                              "example": {
                                "instagram": {
                                  "total": 239,
                                  "series": [
                                    22,
                                    6,
                                    4,
                                    69,
                                    138,
                                    0,
                                    0
                                  ]
                                }
                              },
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "total": {
                                    "type": "number",
                                    "description": "Total impressions for this platform",
                                    "example": 239
                                  },
                                  "series": {
                                    "type": "array",
                                    "description": "Daily impression counts over the analytics period",
                                    "example": [
                                      22,
                                      6,
                                      4,
                                      69,
                                      138,
                                      0,
                                      0
                                    ],
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                }
                              }
                            },
                            "followers": {
                              "type": "object",
                              "description": "Daily follower counts by platform",
                              "example": {
                                "instagram": {
                                  "total": 0,
                                  "series": [
                                    0,
                                    0,
                                    0,
                                    0,
                                    0,
                                    0,
                                    0
                                  ]
                                }
                              },
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "total": {
                                    "type": "number",
                                    "description": "Total followers for this platform",
                                    "example": 0
                                  },
                                  "series": {
                                    "type": "array",
                                    "description": "Daily follower counts over the analytics period",
                                    "example": [
                                      0,
                                      0,
                                      0,
                                      0,
                                      0,
                                      0,
                                      0
                                    ],
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                }
                              }
                            },
                            "likes": {
                              "type": "object",
                              "description": "Daily like counts by platform",
                              "example": {
                                "linkedin": {
                                  "total": 1,
                                  "series": [
                                    0,
                                    0,
                                    0,
                                    1,
                                    0,
                                    0,
                                    0
                                  ]
                                }
                              },
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "total": {
                                    "type": "number",
                                    "description": "Total likes for this platform",
                                    "example": 1
                                  },
                                  "series": {
                                    "type": "array",
                                    "description": "Daily like counts over the analytics period",
                                    "example": [
                                      0,
                                      0,
                                      0,
                                      1,
                                      0,
                                      0,
                                      0
                                    ],
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "demographics": {
                          "type": "object",
                          "description": "Demographic data breakdown",
                          "example": {
                            "gender": {
                              "totals": {
                                "male": {
                                  "total": 0,
                                  "percentage": 0
                                },
                                "female": {
                                  "total": 0,
                                  "percentage": 0
                                },
                                "unknown": {
                                  "total": 0,
                                  "percentage": 0
                                }
                              }
                            }
                          },
                          "properties": {
                            "gender": {
                              "type": "object",
                              "description": "Gender distribution of audience",
                              "example": {
                                "totals": {
                                  "male": {
                                    "total": 0,
                                    "percentage": 0
                                  },
                                  "female": {
                                    "total": 0,
                                    "percentage": 0
                                  },
                                  "unknown": {
                                    "total": 0,
                                    "percentage": 0
                                  }
                                }
                              },
                              "properties": {
                                "totals": {
                                  "type": "object",
                                  "description": "Total counts and percentages by gender",
                                  "example": {
                                    "male": {
                                      "total": 0,
                                      "percentage": 0
                                    }
                                  },
                                  "properties": {
                                    "male": {
                                      "type": "object",
                                      "description": "Male audience statistics",
                                      "example": {
                                        "total": 0,
                                        "percentage": 0
                                      },
                                      "properties": {
                                        "total": {
                                          "type": "number",
                                          "description": "Total number of male audience members",
                                          "example": 0
                                        },
                                        "percentage": {
                                          "type": "number",
                                          "description": "Percentage of male audience",
                                          "example": 0
                                        }
                                      }
                                    },
                                    "female": {
                                      "type": "object",
                                      "description": "Female audience statistics",
                                      "example": {
                                        "total": 0,
                                        "percentage": 0
                                      },
                                      "properties": {
                                        "total": {
                                          "type": "number",
                                          "description": "Total number of female audience members",
                                          "example": 0
                                        },
                                        "percentage": {
                                          "type": "number",
                                          "description": "Percentage of female audience",
                                          "example": 0
                                        }
                                      }
                                    },
                                    "unknown": {
                                      "type": "object",
                                      "description": "Unknown gender audience statistics",
                                      "example": {
                                        "total": 0,
                                        "percentage": 0
                                      },
                                      "properties": {
                                        "total": {
                                          "type": "number",
                                          "description": "Total number of audience members with unknown gender",
                                          "example": 0
                                        },
                                        "percentage": {
                                          "type": "number",
                                          "description": "Percentage of audience with unknown gender",
                                          "example": 0
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "age": {
                              "type": "object",
                              "description": "Age distribution of audience",
                              "example": {
                                "totals": {
                                  "13-17": 0,
                                  "18-24": 0,
                                  "25-34": 0,
                                  "35-44": 0,
                                  "45-54": 0,
                                  "55-64": 0,
                                  "65+": 0
                                }
                              },
                              "properties": {
                                "totals": {
                                  "type": "object",
                                  "description": "Total counts by age group",
                                  "example": {
                                    "13-17": 0,
                                    "18-24": 0,
                                    "25-34": 0
                                  },
                                  "properties": {
                                    "13-17": {
                                      "type": "number",
                                      "description": "Number of audience members aged 13-17",
                                      "example": 0
                                    },
                                    "18-24": {
                                      "type": "number",
                                      "description": "Number of audience members aged 18-24",
                                      "example": 0
                                    },
                                    "25-34": {
                                      "type": "number",
                                      "description": "Number of audience members aged 25-34",
                                      "example": 0
                                    },
                                    "35-44": {
                                      "type": "number",
                                      "description": "Number of audience members aged 35-44",
                                      "example": 0
                                    },
                                    "45-54": {
                                      "type": "number",
                                      "description": "Number of audience members aged 45-54",
                                      "example": 0
                                    },
                                    "55-64": {
                                      "type": "number",
                                      "description": "Number of audience members aged 55-64",
                                      "example": 0
                                    },
                                    "65+": {
                                      "type": "number",
                                      "description": "Number of audience members aged 65 and above",
                                      "example": 0
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "message": {
                      "type": "string",
                      "description": "Success message indicating the analytics were built successfully",
                      "example": "Analytics Built Successfully"
                    },
                    "traceId": {
                      "type": "string",
                      "description": "Unique identifier for tracking this request",
                      "example": "42fc8dd8-d55b-475f-944f-9efb90d77564"
                    }
                  },
                  "example": {
                    "results": {
                      "dayRange": [
                        "Mon",
                        "Tue",
                        "Wed",
                        "Thu",
                        "Fri",
                        "Sat",
                        "Sun"
                      ],
                      "totals": {
                        "posts": 0,
                        "likes": 0,
                        "followers": 0,
                        "impressions": 0,
                        "comments": 0
                      },
                      "postPerformance": {
                        "posts": {
                          "google": [
                            0,
                            0,
                            0,
                            0,
                            0,
                            0,
                            0
                          ]
                        },
                        "impressions": [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        "likes": [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ],
                        "comments": [
                          0,
                          0,
                          0,
                          0,
                          0,
                          0,
                          0
                        ]
                      },
                      "breakdowns": {
                        "posts": {
                          "total": 0,
                          "totalChange": 0,
                          "platforms": {
                            "google": {
                              "value": 0,
                              "change": 0
                            }
                          }
                        },
                        "impressions": {
                          "total": 0,
                          "totalChange": 0,
                          "platforms": {
                            "google": {
                              "value": 0,
                              "change": 0
                            }
                          }
                        },
                        "reach": {
                          "total": 0,
                          "totalChange": 0,
                          "platforms": {
                            "google": {
                              "value": 0,
                              "change": 0
                            }
                          }
                        },
                        "engagement": {
                          "google": {
                            "likes": 0,
                            "comments": 0,
                            "shares": 0,
                            "change": 0
                          }
                        }
                      },
                      "platformTotals": {
                        "impressions": {
                          "google": {
                            "total": 0,
                            "series": [
                              0,
                              0,
                              0,
                              0,
                              0,
                              0,
                              0
                            ]
                          }
                        },
                        "followers": {
                          "google": {
                            "total": 0,
                            "series": [
                              0,
                              0,
                              0,
                              0,
                              0,
                              0,
                              0
                            ]
                          }
                        },
                        "likes": {
                          "google": {
                            "total": 0,
                            "series": [
                              0,
                              0,
                              0,
                              0,
                              0,
                              0,
                              0
                            ]
                          }
                        }
                      },
                      "demographics": {
                        "gender": {
                          "totals": {
                            "male": {
                              "total": 0,
                              "percentage": 0
                            },
                            "female": {
                              "total": 0,
                              "percentage": 0
                            },
                            "unknown": {
                              "total": 0,
                              "percentage": 0
                            }
                          }
                        },
                        "age": {
                          "totals": {
                            "13-17": 0,
                            "18-24": 0,
                            "25-34": 0,
                            "35-44": 0,
                            "45-54": 0,
                            "55-64": 0,
                            "65+": 0
                          }
                        }
                      }
                    },
                    "message": "Analytics Built Successfully",
                    "traceId": "42fc8dd8-d55b-475f-944f-9efb90d77564"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Occurs when: more than 100 accounts are requested, invalid date formats are provided, startDate is after endDate, prevRange is provided without currentRange, or invalid platform values are specified.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing authentication credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity - Invalid request body format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Statistics"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/statistics.readonly"
            ]
          }
        ]
      }
    },
    "/store/shipping-zone": {
      "post": {
        "operationId": "create-shipping-zone",
        "summary": "Create Shipping Zone",
        "description": "The \"Create Shipping Zone\" API allows adding a new shipping zone.",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_CreateShippingZoneDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_CreateShippingZoneResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "get": {
        "operationId": "list-shipping-zones",
        "summary": "List Shipping Zones",
        "description": "The \"List Shipping Zone\" API allows to retrieve a list of shipping zone.",
        "parameters": [
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "withShippingRate",
            "required": false,
            "in": "query",
            "description": "Include shipping rates array",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_ListShippingZoneResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/store/shipping-zone/{shippingZoneId}": {
      "get": {
        "operationId": "get-shipping-zones",
        "summary": "Get Shipping Zone",
        "description": "The \"List Shipping Zone\" API allows to retrieve a paginated list of shipping zone.",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the item that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "withShippingRate",
            "required": false,
            "in": "query",
            "description": "Include shipping rates array",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_GetShippingZoneResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "put": {
        "operationId": "update-shipping-zone",
        "summary": "Update Shipping Zone",
        "description": "The \"update Shipping Zone\" API allows update a shipping zone to the system. ",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the item that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_UpdateShippingZoneDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_UpdateShippingZoneResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-shipping-zone",
        "summary": "Delete shipping zone",
        "description": "Delete specific shipping zone with Id :shippingZoneId",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the item that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_DeleteShippingZoneResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/store/shipping-zone/shipping-rates": {
      "post": {
        "operationId": "get-available-shipping-zones",
        "summary": "Get available shipping rates",
        "description": "This return available shipping rates for country based on order amount",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_GetAvailableShippingRates"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_GetAvailableShippingRatesResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone"
        ]
      }
    },
    "/store/shipping-zone/{shippingZoneId}/shipping-rate": {
      "post": {
        "operationId": "create-shipping-rate",
        "summary": "Create Shipping Rate",
        "description": "The \"Create Shipping Rate\" API allows adding a new shipping rate.",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the item that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_CreateShippingRateDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_CreateShippingRateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone Rates"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "get": {
        "operationId": "list-shipping-rates",
        "summary": "List Shipping Rates",
        "description": "The \"List Shipping Rate\" API allows to retrieve a list of shipping rate.",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the item that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "The maximum number of items to be included in a single page of results",
            "schema": {
              "default": 0,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "The starting index of the page, indicating the position from which the results should be retrieved.",
            "schema": {
              "default": 0,
              "example": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_ListShippingRateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone Rates"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/store/shipping-zone/{shippingZoneId}/shipping-rate/{shippingRateId}": {
      "get": {
        "operationId": "get-shipping-rates",
        "summary": "Get Shipping Rate",
        "description": "The \"List Shipping Rate\" API allows to retrieve a paginated list of shipping rate.",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping zone",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "shippingRateId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping rate that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_GetShippingRateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone Rates"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "put": {
        "operationId": "update-shipping-rate",
        "summary": "Update Shipping Rate",
        "description": "The \"update Shipping Rate\" API allows update a shipping rate to the system. ",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping zone",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "shippingRateId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping rate that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_UpdateShippingRateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_UpdateShippingRateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone Rates"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-shipping-rate",
        "summary": "Delete shipping rate",
        "description": "Delete specific shipping rate with Id :shippingRateId",
        "parameters": [
          {
            "name": "shippingZoneId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping zone",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "shippingRateId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping rate that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_DeleteShippingRateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Zone Rates"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/store/shipping-carrier": {
      "post": {
        "operationId": "create-shipping-carrier",
        "summary": "Create Shipping Carrier",
        "description": "The \"Create Shipping Carrier\" API allows adding a new shipping carrier.",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_CreateShippingCarrierDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_CreateShippingCarrierResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Carrier"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "get": {
        "operationId": "list-shipping-carriers",
        "summary": "List Shipping Carriers",
        "description": "The \"List Shipping Carrier\" API allows to retrieve a list of shipping carrier.",
        "parameters": [
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_ListShippingCarrierResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Carrier"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/store/shipping-carrier/{shippingCarrierId}": {
      "get": {
        "operationId": "get-shipping-carriers",
        "summary": "Get Shipping Carrier",
        "description": "The \"List Shipping Carrier\" API allows to retrieve a paginated list of shipping carrier.",
        "parameters": [
          {
            "name": "shippingCarrierId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping carrier that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_GetShippingCarrierResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Carrier"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "put": {
        "operationId": "update-shipping-carrier",
        "summary": "Update Shipping Carrier",
        "description": "The \"update Shipping Carrier\" API allows update a shipping carrier to the system. ",
        "parameters": [
          {
            "name": "shippingCarrierId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping carrier that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_UpdateShippingCarrierDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_UpdateShippingCarrierResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Carrier"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-shipping-carrier",
        "summary": "Delete shipping carrier",
        "description": "Delete specific shipping carrier with Id :shippingCarrierId",
        "parameters": [
          {
            "name": "shippingCarrierId",
            "required": true,
            "in": "path",
            "description": "ID of the shipping carrier that needs to be returned",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_DeleteShippingCarrierResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Shipping Carrier"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/store/store-setting": {
      "post": {
        "operationId": "create-store-setting",
        "summary": "Create/Update Store Settings",
        "description": "Create or update store settings by altId and altType.",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/store_v3_CreateStoreSettingDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_CreateStoreSettingResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Store Setting"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "get": {
        "operationId": "get-store-settings",
        "summary": "Get Store Settings",
        "description": "Get store settings by altId and altType.",
        "parameters": [
          {
            "name": "altId",
            "required": true,
            "in": "query",
            "description": "Location Id or Agency Id",
            "schema": {
              "example": "6578278e879ad2646715ba9c",
              "type": "string"
            }
          },
          {
            "name": "altType",
            "required": true,
            "in": "query",
            "schema": {
              "enum": [
                "location"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/store_v3_GetStoreSettingResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Store Setting"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/surveys/submissions": {
      "get": {
        "operationId": "get-surveys-submissions",
        "summary": "Get Surveys Submissions",
        "description": "Get Surveys Submissions",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "example": 1,
            "description": "Page No. By default it will be 1",
            "schema": {
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": 20,
            "description": "Limit Per Page records count. will allow maximum up to 100 and default will be 20",
            "schema": {
              "default": 20,
              "type": "number"
            }
          },
          {
            "name": "surveyId",
            "required": false,
            "in": "query",
            "example": "jjusM6EOngDExnbo2DbU",
            "description": "Filter submission by survey id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "required": false,
            "in": "query",
            "example": "john@deo.com",
            "description": "Filter by contactId, name, email or phone no.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startAt",
            "required": false,
            "in": "query",
            "example": "2020-11-14",
            "description": "Get submission by starting of this date. By default it will be same date of last month(YYYY-MM-DD).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endAt",
            "required": false,
            "in": "query",
            "example": "2020-12-14",
            "description": "Get submission by ending of this date. By default it will be current date(YYYY-MM-DD).",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/surveys_v3_GetSurveysSubmissionSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ],
        "security": [
          {
            "bearer": [
              "surveys.readonly"
            ]
          }
        ]
      }
    },
    "/surveys/": {
      "get": {
        "operationId": "get-surveys",
        "summary": "Get Surveys",
        "description": "Get Surveys",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "example": 0,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "example": 20,
            "description": "Limit Per Page records count. will allow maximum up to 50 and default will be 10",
            "schema": {
              "default": 10,
              "type": "number"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "example": "folder",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/surveys_v3_GetSurveysSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ],
        "security": [
          {
            "bearer": [
              "surveys.readonly"
            ]
          }
        ]
      }
    },
    "/users/search": {
      "get": {
        "operationId": "search-users",
        "summary": "Search Users",
        "description": "Search Users",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "description": "Company ID in which the search needs to be performed",
            "schema": {
              "example": "5DP41231LkQsiKESj6rh",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "The search term for the user is matched based on the user full name, email or phone",
            "schema": {
              "example": "John",
              "type": "string"
            }
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "No of results to be skipped before returning the result",
            "schema": {
              "default": "0",
              "example": "1",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "No of results to be limited before returning the result",
            "schema": {
              "default": "25",
              "example": "10",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "Location ID in which the search needs to be performed",
            "schema": {
              "example": "5DP41231LkQsiKESj6rh",
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Type of the users to be filtered in the search",
            "schema": {
              "example": "agency",
              "type": "string"
            }
          },
          {
            "name": "role",
            "required": false,
            "in": "query",
            "description": "Role of the users to be filtered in the search",
            "schema": {
              "example": "admin",
              "type": "string"
            }
          },
          {
            "name": "ids",
            "required": false,
            "in": "query",
            "description": "List of User IDs to be filtered in the search",
            "schema": {
              "example": "5DP4iH6HLkQsiKESj6rh,5DP4iH6HLkQsiKESj34h",
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "description": "The field on which sort is applied in which the results need to be sorted. Default is based on the first and last name",
            "schema": {
              "example": "dateAdded",
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "required": false,
            "in": "query",
            "description": "The direction in which the results need to be sorted",
            "schema": {
              "example": "asc",
              "type": "string"
            }
          },
          {
            "name": "enabled2waySync",
            "required": false,
            "in": "query",
            "description": "Filter users by whether 2-way sync is enabled",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_v3_SearchUserSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "Agency-Access": [
              "users.readonly"
            ]
          },
          {
            "Location-Access": [
              "users.readonly"
            ]
          }
        ]
      }
    },
    "/users/search/filter-by-email": {
      "post": {
        "operationId": "filter-users-by-email",
        "summary": "Filter Users by Email",
        "description": "Filter users by company ID, deleted status, and email array",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/users_v3_FilterByEmailDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_v3_SearchUserSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Search"
        ],
        "security": [
          {
            "Agency-Access": [
              "users.readonly"
            ]
          }
        ]
      }
    },
    "/users/{userId}": {
      "get": {
        "operationId": "get-user",
        "summary": "Get User",
        "description": "Get User",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "description": "User Id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_v3_UserSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "security": [
          {
            "Agency-Access": [
              "users.readonly"
            ]
          },
          {
            "Location-Access": [
              "users.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-user",
        "summary": "Update User",
        "description": "Update User",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/users_v3_UpdateUserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_v3_UserSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "security": [
          {
            "Agency-Access": [
              "users.write"
            ]
          },
          {
            "Location-Access": [
              "users.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-user",
        "x-version-added": "v3",
        "summary": "Delete User",
        "description": "Delete User",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_v3_DeleteUserSuccessfulResponseV3Dto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "security": [
          {
            "Agency-Access": [
              "users.write"
            ]
          },
          {
            "Location-Access": [
              "users.write"
            ]
          }
        ]
      }
    },
    "/users/": {
      "get": {
        "operationId": "get-user-by-location",
        "summary": "Get User by Location",
        "description": "Deprecated. Use `GET /users/search` instead. Pass `locationId` as a query parameter to filter results by location, along with the required `companyId` and other search filters as needed.",
        "deprecated": true,
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "schema": {
              "example": "s4BtzHFWmT28mbb85uPa",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_LocationSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "security": [
          {
            "Location-Access": [
              "users.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-user",
        "summary": "Create User",
        "description": "Create User",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/users_v3_CreateUserDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/users_v3_UserSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Users"
        ],
        "security": [
          {
            "Agency-Access": [
              "users.write"
            ]
          },
          {
            "Location-Access": [
              "users.write"
            ]
          }
        ]
      }
    },
    "/ad-publishing/facebook/ads": {
      "put": {
        "operationId": "fb-upsert-ad",
        "summary": "Upsert ad",
        "description": "Create or update a Facebook ad",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_UpsertAdDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adSetId}/pause": {
      "post": {
        "operationId": "fb-pause-adset",
        "summary": "Pause ad set",
        "description": "Pause a running Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adSetId",
            "required": true,
            "in": "path",
            "description": "Ad set identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adSetId}/resume": {
      "post": {
        "operationId": "fb-resume-adset",
        "summary": "Resume ad set",
        "description": "Resume a paused Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adSetId",
            "required": true,
            "in": "path",
            "description": "Ad set identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adSetId}/duplicate": {
      "post": {
        "operationId": "fb-duplicate-adset",
        "summary": "Duplicate ad set",
        "description": "Duplicate an existing Facebook ad set",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adSetId",
            "required": true,
            "in": "path",
            "description": "Ad set identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/adsets/{adSetId}": {
      "delete": {
        "operationId": "fb-delete-adset",
        "summary": "Delete ad set",
        "description": "Delete a Facebook ad set by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ],
              "example": "2021-07-28"
            }
          },
          {
            "name": "adSetId",
            "required": true,
            "in": "path",
            "description": "Ad set identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ad_publishing_v3_LocationIdBodyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.write"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/ad-publishing/facebook/campaigns/{campaignId}/publishing-progress": {
      "get": {
        "operationId": "fb-get-campaign-publishing-progress",
        "summary": "Get campaign publishing progress",
        "description": "Returns Redis-backed publish progress for a campaign while it is publishing to Meta. Used by the validation funnel UI to poll step counts and completion state.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier",
            "schema": {
              "example": "HChooFuiyPpVYzeJ4HMe",
              "type": "string"
            }
          },
          {
            "name": "isDraft",
            "required": false,
            "in": "query",
            "description": "Is draft",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Publishing progress for the campaign",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ad_publishing_v3_PublishingProgressResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Campaign not found"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [
              "adPublishing.readonly"
            ]
          }
        ],
        "tags": [
          "Facebook Ads"
        ]
      }
    },
    "/brand-boards/locations/{locationId}/brand-voices": {
      "get": {
        "operationId": "list-brand-voices",
        "x-version-added": "v3",
        "summary": "List Brand Voices",
        "description": "Get list of brand voices for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "oHJiAh0wDG3BzmzACVD6",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of brand voices to return. Defaults to 10, minimum is 1, maximum is 20",
            "schema": {
              "minimum": 1,
              "maximum": 20,
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of brand voices to skip for pagination. Defaults to 0, minimum is 0",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search text for brand voice name",
            "schema": {
              "example": "My Brand Voice",
              "type": "string"
            }
          },
          {
            "name": "deleted",
            "required": false,
            "in": "query",
            "description": "Whether to return deleted brand voices. Defaults to false",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_ListBrandVoicesPublicV1ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Brand Voices"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "post": {
        "operationId": "create-brand-voice",
        "x-version-added": "v3",
        "summary": "Create Brand Voice",
        "description": "Create a brand voice for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "oHJiAh0wDG3BzmzACVD6",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/brand_boards_v3_CreateBrandVoicePublicV1BodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_CreateBrandVoicePublicV1ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Brand Voices"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/brand-boards/locations/{locationId}/brand-voices/{brandVoiceId}": {
      "get": {
        "operationId": "get-brand-voice",
        "x-version-added": "v3",
        "summary": "Get Brand Voice",
        "description": "Get a brand voice by ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "oHJiAh0wDG3BzmzACVD6",
              "type": "string"
            }
          },
          {
            "name": "brandVoiceId",
            "required": true,
            "in": "path",
            "description": "Brand voice ID",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_GetBrandVoicePublicV1ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Brand Voices"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "patch": {
        "operationId": "update-brand-voice",
        "x-version-added": "v3",
        "summary": "Update Brand Voice",
        "description": "Update a brand voice by ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "oHJiAh0wDG3BzmzACVD6",
              "type": "string"
            }
          },
          {
            "name": "brandVoiceId",
            "required": true,
            "in": "path",
            "description": "Brand voice ID",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/brand_boards_v3_UpdateBrandVoicePublicV1BodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_UpdateBrandVoicePublicV1ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Brand Voices"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      },
      "delete": {
        "operationId": "delete-brand-voice",
        "x-version-added": "v3",
        "summary": "Delete Brand Voice",
        "description": "Delete a brand voice by ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "oHJiAh0wDG3BzmzACVD6",
              "type": "string"
            }
          },
          {
            "name": "brandVoiceId",
            "required": true,
            "in": "path",
            "description": "Brand voice ID",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_DeleteBrandVoicePublicV1ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Brand Voices"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/brand-boards/locations/{locationId}/brand-voices/{brandVoiceId}/default": {
      "post": {
        "operationId": "set-default-brand-voice",
        "x-version-added": "v3",
        "summary": "Set Default Brand Voice",
        "description": "Set a brand voice as the default for a location. The previous default will be unset.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "oHJiAh0wDG3BzmzACVD6",
              "type": "string"
            }
          },
          {
            "name": "brandVoiceId",
            "required": true,
            "in": "path",
            "description": "Brand voice ID",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_SetDefaultBrandVoicePublicV1ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand_boards_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Brand Voices"
        ],
        "security": [
          {
            "Location-Access": []
          }
        ]
      }
    },
    "/calendars/services/bookings": {
      "get": {
        "operationId": "get-service-bookings",
        "summary": "Get Service Bookings",
        "description": "Retrieve service bookings for a location within a given date range, with an optional service location filter.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "0007BWpSzSwfiuSl0tR2",
              "type": "string"
            }
          },
          {
            "name": "startTime",
            "required": true,
            "in": "query",
            "description": "Start Time (timestamp in milliseconds as string)",
            "schema": {
              "example": "1704110400000",
              "type": "string"
            }
          },
          {
            "name": "endTime",
            "required": true,
            "in": "query",
            "description": "End Time (timestamp in milliseconds as string)",
            "schema": {
              "example": "1704114000000",
              "type": "string"
            }
          },
          {
            "name": "timezone",
            "required": false,
            "in": "query",
            "description": "Timezone",
            "schema": {
              "example": "America/New_York",
              "type": "string"
            }
          },
          {
            "name": "serviceLocationId",
            "required": false,
            "in": "query",
            "description": "Service Location ID",
            "schema": {
              "example": "65e5f6dfacf123513228d384",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceBookingsListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Bookings"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-service-booking",
        "summary": "Create Service Booking",
        "description": "Create a new service booking",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "overrideAvailability",
            "required": false,
            "in": "query",
            "description": "If true the time slot validation would be avoided for any booking creation/update (even the skipSchedulingNotice)",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "skipSchedulingNotice",
            "required": false,
            "in": "query",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CreatePublicServiceBookingDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Booking created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CreateOrUpdateServiceBookingResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Bookings"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/services/bookings/{bookingId}": {
      "get": {
        "operationId": "get-service-booking-by-id",
        "summary": "Get Service Booking by ID",
        "description": "Get a specific service booking by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "bookingId",
            "required": true,
            "in": "path",
            "description": "Unique Service Booking ID",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceBookingResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Bookings"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-service-booking",
        "summary": "Update Service Booking",
        "description": "Update an existing service booking",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "bookingId",
            "required": true,
            "in": "path",
            "description": "Unique Service Booking ID",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          },
          {
            "name": "overrideAvailability",
            "required": false,
            "in": "query",
            "description": "If true the time slot validation would be avoided for any booking creation/update (even the skipSchedulingNotice)",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "skipSchedulingNotice",
            "required": false,
            "in": "query",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateServiceBookingDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Booking updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_CreateOrUpdateServiceBookingResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Bookings"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-service-booking",
        "summary": "Delete Service Booking",
        "description": "Delete a service booking by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "bookingId",
            "required": true,
            "in": "path",
            "description": "Unique Service Booking ID",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Booking deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_DeleteServiceBookingResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Bookings"
        ],
        "security": [
          {
            "bearer": [
              "calendars/events.write"
            ]
          }
        ]
      }
    },
    "/calendars/services/catalog": {
      "get": {
        "operationId": "get-services-catalog",
        "summary": "Get Services",
        "description": "Get all services in a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "0007BWpSzSwfiuSl0tR2",
              "type": "string"
            }
          },
          {
            "name": "serviceCategoryId",
            "required": false,
            "in": "query",
            "description": "Filter by service category ID",
            "schema": {
              "example": "65e5f6dfacf123513228d384",
              "type": "string"
            }
          },
          {
            "name": "isPrivate",
            "required": false,
            "in": "query",
            "description": "Filter services: true = private only, false = public only, unset = all services",
            "schema": {
              "example": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServicesListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Services"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-service-catalog",
        "summary": "Create Service",
        "description": "Create new service in a location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CreateServiceDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Service created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Services"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/services/catalog/{serviceId}": {
      "get": {
        "operationId": "get-service-catalog-by-id",
        "summary": "Get Service by ID",
        "description": "Get service by ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "serviceId",
            "required": true,
            "in": "path",
            "description": "Service ID",
            "schema": {
              "example": "65e5f6dfacf123513228d384",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Services"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-service-catalog",
        "summary": "Update Service",
        "description": "Update service by ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "serviceId",
            "required": true,
            "in": "path",
            "description": "Service ID",
            "schema": {
              "example": "65e5f6dfacf123513228d384",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateServiceDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Service updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceResponseWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Services"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-service-catalog",
        "summary": "Delete Service",
        "description": "Delete service by ID.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "serviceId",
            "required": true,
            "in": "path",
            "description": "Service ID",
            "schema": {
              "example": "65e5f6dfacf123513228d384",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_DeleteServiceResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Services"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/services/locations": {
      "get": {
        "operationId": "get-service-locations",
        "summary": "Get Service Locations",
        "description": "Get all service locations",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "0007BWpSzSwfiuSl0tR2",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceLocationListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Locations"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "post": {
        "operationId": "create-service-location",
        "summary": "Create Service Location",
        "description": "Create a new service location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CreateServiceLocationDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Service location created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceLocationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Locations"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/services/locations/{serviceLocationId}": {
      "get": {
        "operationId": "get-service-location-by-id",
        "summary": "Get Service Location by ID",
        "description": "Get service location by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "serviceLocationId",
            "required": true,
            "in": "path",
            "description": "Unique Service Location ID",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceLocationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Locations"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-service-location",
        "summary": "Update Service Location",
        "description": "Update an existing service location",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "serviceLocationId",
            "required": true,
            "in": "path",
            "description": "Unique Service Location ID",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateServiceLocationDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Service location updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_ServiceLocationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Locations"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-service-location",
        "summary": "Delete Service Location",
        "description": "Delete a service location by ID",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "serviceLocationId",
            "required": true,
            "in": "path",
            "description": "Unique Service Location ID",
            "schema": {
              "example": "IkqiJlXJ7o9h61tCHHod",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Service location deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_DeleteServiceLocationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Service Locations"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/calendars/schedules/event-calendar/{calendarId}": {
      "post": {
        "operationId": "createCalendarSchedule",
        "summary": "Create event calendar availability schedule",
        "description": "Create a new availability schedule specifically for an event calendar. The calendar ID is provided in the path, and schedule rules and timezone are provided in the request body.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the event calendar",
            "schema": {
              "example": "WvVX9LpvlBO6K506xLbp",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_CreateEventCalendarScheduleDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Schedule created successfully for the event calendar",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_EventCalendarScheduleWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Event calendar with the specified ID was not found"
          },
          "422": {
            "description": "Validation errors in schedule rules or conflicting data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "getCalendarSchedule",
        "summary": "Get event calendar availability schedule",
        "description": "Retrieve the availability schedule for a specific event calendar. Returns the schedule associated with the calendar ID provided in the path.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the event calendar",
            "schema": {
              "example": "WvVX9LpvlBO6K506xLbp",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Schedule retrieved successfully for the event calendar",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_EventCalendarScheduleWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Event calendar or schedule with the specified ID was not found"
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "updateCalendarSchedule",
        "summary": "Update event calendar availability schedule",
        "description": "Update the availability schedule for a specific event calendar. Only provided fields will be updated. The calendar ID is provided in the path.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "calendarId",
            "required": true,
            "in": "path",
            "description": "Unique identifier of the event calendar",
            "schema": {
              "example": "WvVX9LpvlBO6K506xLbp",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/calendars_v3_UpdateEventCalendarScheduleDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Schedule updated successfully for the event calendar",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/calendars_v3_EventCalendarScheduleWrapperDTO"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "User not authenticated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Event calendar or schedule with the specified ID was not found"
          },
          "422": {
            "description": "Validation errors in schedule rules or conflicting data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Availability"
        ],
        "security": [
          {
            "bearer": [
              "calendars.write"
            ]
          }
        ]
      }
    },
    "/chat-widget/list": {
      "get": {
        "operationId": "listChatWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "The location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": true,
            "in": "query",
            "description": "Offset",
            "schema": {
              "example": 10,
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Limit",
            "schema": {
              "example": 0,
              "type": "string"
            }
          },
          {
            "name": "chatType",
            "required": false,
            "in": "query",
            "description": "The type of chat widget. Supports normal ChatType values, plus the virtual umbrella \"webChat\" (maps to facebookChat/emailChat/instagramChat/waChat).",
            "schema": {
              "example": "emailChat",
              "enum": [
                "liveChat",
                "waChat",
                "emailChat",
                "allInOneChat",
                "voiceAiChat",
                "facebookChat",
                "instagramChat",
                "webChat"
              ],
              "type": "string"
            }
          },
          {
            "name": "excludeChatType",
            "required": false,
            "in": "query",
            "description": "The type of chat widget",
            "schema": {
              "example": "voiceAiChat",
              "enum": [
                "liveChat",
                "waChat",
                "emailChat",
                "allInOneChat",
                "voiceAiChat",
                "facebookChat",
                "instagramChat"
              ],
              "type": "string"
            }
          },
          {
            "name": "voiceAiAgentId",
            "required": false,
            "in": "query",
            "description": "The voice AI agent ID",
            "schema": {
              "example": "66597c9a41106ba6eb4eac3c",
              "type": "string"
            }
          },
          {
            "name": "allInOneChatTypes",
            "required": false,
            "in": "query",
            "description": "All-in-one chat type to filter by. Only applies when chatType is \"allInOneChat\". Supports normal ChatType values plus the virtual umbrella \"webChat\" (maps to facebookChat/emailChat/instagramChat/waChat).",
            "schema": {
              "example": "emailChat",
              "enum": [
                "liveChat",
                "waChat",
                "emailChat",
                "allInOneChat",
                "voiceAiChat",
                "facebookChat",
                "instagramChat",
                "webChat"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.readonly"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "List Chat Widgets",
        "description": "Returns chat widgets for the sub-account with pagination and optional filters."
      }
    },
    "/chat-widget/data/{locationId}/{id}": {
      "get": {
        "operationId": "getChatWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The chat widget ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "The location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.readonly"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "Get Chat Widget",
        "description": "Returns a single chat widget by ID."
      },
      "put": {
        "operationId": "updateChatWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The chat widget ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "The location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/chat_widget_v3_UpdateWidgetDTO"
              },
              "example": {
                "name": "Renamed Chat Widget"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.write"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "Update Chat Widget",
        "description": "Full update of a chat widget resource."
      },
      "patch": {
        "operationId": "patchChatWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The chat widget ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "The location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/chat_widget_v3_UpdateWidgetDTO"
              },
              "example": {
                "settings": {
                  "chatType": "emailChat"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.write"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "Patch Chat Widget",
        "description": "Partial update of a chat widget resource."
      }
    },
    "/chat-widget/public/config/{id}": {
      "get": {
        "operationId": "getWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The chat widget ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          },
          {
            "name": "version",
            "required": false,
            "in": "query",
            "schema": {
              "default": "2",
              "example": "3",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Chat Widget"
        ],
        "summary": "Get Widget Config",
        "description": "Returns widget configuration by ID."
      }
    },
    "/chat-widget/{locationId}/{id}": {
      "delete": {
        "operationId": "delete",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The chat widget ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "The location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRWsss",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.write"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "Delete Chat Widget",
        "description": "Soft-deletes a chat widget. If it was the default, another widget may be promoted."
      }
    },
    "/chat-widget/clone": {
      "post": {
        "operationId": "cloneChatWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/chat_widget_v3_CloneChatWidgetDTO"
              },
              "example": {
                "locationId": "oHJiAh0wDG3BzmzACVD6",
                "chatWidgetId": "ve9EPM428h8vShlRWsss"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.write"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "Clone Chat Widget",
        "description": "Creates a copy of an existing chat widget in the same sub-account."
      }
    },
    "/chat-widget/": {
      "post": {
        "operationId": "createChatWidget",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/chat_widget_v3_CreateWidgetDTO"
              },
              "examples": {
                "basicCreate": {
                  "summary": "Create a chat widget (minimum required fields)",
                  "value": {
                    "version": 2,
                    "chatType": "emailChat",
                    "name": "Chat Widget 1",
                    "locationId": "oHJiAh0wDG3BzmzACVD6"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "Location-Access": [
              "chat-widget.write"
            ]
          }
        ],
        "tags": [
          "Chat Widget"
        ],
        "summary": "Create Chat Widget",
        "description": "Creates a new chat widget for the given sub-account."
      }
    },
    "/contacts/{contactId}/campaigns/remove-all": {
      "delete": {
        "operationId": "remove-contact-from-every-campaign",
        "x-version-added": "v3",
        "summary": "Remove Contact From Every Campaign",
        "description": "Removes the contact from every campaign it is enrolled in.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "contactId",
            "required": true,
            "in": "path",
            "description": "Contact Id",
            "schema": {
              "type": "string",
              "example": "ve9EPM428h8vShlRW1KT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contacts_v3_CreateDeleteCantactsCampaignsSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "bearer": [
              "contacts.write"
            ]
          }
        ]
      }
    },
    "/conversations/messages/email/{id}/status": {
      "put": {
        "operationId": "update-email-message-status",
        "summary": "Update email message status",
        "description": "Update delivery events, per-recipient statuses, and the overall message status for an email sent via a custom conversation provider.\n\n### Authorization\n- Requires the `conversations/message.write` OAuth scope.\n- The calling OAuth app must own the conversation provider that originally sent the email.\n- Attempts to update emails sent via CRM Email or Mailgun will return `403 Forbidden`.\n\n### Updatable Fields\n**`status`** is required on every request. You may also include **`events`** and/or **`recipients`**.\n\n**`events`** — Aggregate delivery event counters (integers). Counters are merged into the existing values (not replaced). Setting a counter to `0` is treated as no-op and will **not** reset the stored value.\n\n**`recipients`** — Per-recipient delivery statuses. Each entry maps a recipient email address to a `MessageStatus` value. Use `failReason` to capture bounce or rejection details when the status is `failed`.\n\n**`status`** — The overall message status. Accepts any `MessageStatus` enum value.\n\n### Event Inference\nThe API automatically infers related events to maintain data consistency:\n- **`clicked`, `complained`, `unsubscribed`, or `replied`** → implies `opened` (set to 1 if not already provided and open tracking is enabled) and `delivered` (set to 1).\n- **`opened`** → implies `delivered` (set to 1 if not provided).\n- **`delivered`, `permanent_fail`, or `temporary_fail`** → implies `accepted` (set to 1 if not provided).\n\n### Timestamps\nThe API automatically records server-side timestamps on first occurrence for `delivered`, `opened`, and `clicked` events. Subsequent updates to these counters do not overwrite the original timestamp.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Email message id",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/conversations_v3_UpdateEmailMessageStatusDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Email message status updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversations_v3_UpdateEmailMessageStatusResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - status updates are only supported for custom conversation provider emails",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Email"
        ],
        "security": [
          {
            "bearer": [
              "conversations/message.write"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/templates": {
      "post": {
        "operationId": "create-email-template",
        "x-version-added": "v3",
        "summary": "Create an email template",
        "description": "Create a new email template",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_CreateTemplatePublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_CreateTemplatePublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-email-templates",
        "x-version-added": "v3",
        "summary": "List templates",
        "description": "Get list of templates by location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of templates to return",
            "schema": {
              "minimum": 1,
              "maximum": 20,
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of templates to skip",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search by template name",
            "schema": {
              "example": "newsletter",
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "required": false,
            "in": "query",
            "description": "Field to sort by",
            "schema": {
              "default": "updatedAt",
              "example": "updatedAt",
              "enum": [
                "updatedAt"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "required": false,
            "in": "query",
            "description": "Sort direction",
            "schema": {
              "default": "desc",
              "example": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "name": "archived",
            "required": false,
            "in": "query",
            "description": "Return archived templates",
            "schema": {
              "default": false,
              "example": false,
              "type": "boolean"
            }
          },
          {
            "name": "folderId",
            "required": false,
            "in": "query",
            "description": "Folder to list templates from. Use 'root' for top-level listing.",
            "schema": {
              "example": "root",
              "type": "string"
            }
          },
          {
            "name": "include",
            "required": false,
            "in": "query",
            "description": "Whether to include templates, folders, or both in the response. `templates` will return only templates, `folders` will return only folders, and `all` will return both.",
            "schema": {
              "default": "all",
              "example": "all",
              "enum": [
                "all",
                "templates",
                "folders"
              ],
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_ListTemplatesPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/templates/import": {
      "post": {
        "operationId": "import-email-template",
        "x-version-added": "v3",
        "summary": "Import an email template",
        "description": "Import a template from a provider URL",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_ImportTemplatePublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_ImportTemplatePublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.write"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/templates/folders": {
      "post": {
        "operationId": "create-template-folder",
        "x-version-added": "v3",
        "summary": "Create a template folder",
        "description": "Create a new template folder",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_CreateTemplateFolderPublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_CreateTemplateFolderPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.write"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/templates/{templateId}": {
      "get": {
        "operationId": "get-email-template",
        "x-version-added": "v3",
        "summary": "Get Email Template by ID",
        "description": "Get a single email template by its ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template ID",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_GetTemplatePublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-email-template",
        "x-version-added": "v3",
        "summary": "Delete a template",
        "description": "Delete a template",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template ID",
            "schema": {
              "example": "zYy3YOUuHxgomU1uYJty",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_DeleteTemplatePublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.write"
            ]
          }
        ]
      },
      "patch": {
        "operationId": "update-email-template",
        "x-version-added": "v3",
        "summary": "Update an email template",
        "description": "Update email template",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "required": true,
            "in": "path",
            "description": "Template ID",
            "schema": {
              "example": "zYy3YOUuHxgomU1uYJty",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_UpdateTemplatePublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_UpdateTemplatePublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/templates.write"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/stats/{source}/{sourceId}": {
      "get": {
        "operationId": "get-campaign-stats",
        "x-version-added": "v3",
        "summary": "Get Campaign Statistics",
        "description": "Get statistics for email campaigns, workflows, or bulk actions",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "source",
            "required": true,
            "in": "path",
            "description": "Source type: email-campaigns, workflow-campaigns, or bulk-actions",
            "schema": {
              "example": "email-campaigns",
              "enum": [
                "email-campaigns",
                "workflow-campaigns",
                "bulk-actions"
              ],
              "type": "string"
            }
          },
          {
            "name": "sourceId",
            "required": true,
            "in": "path",
            "description": "Source ID of the email campaign, workflow campaign, or bulk action",
            "schema": {
              "example": "abc123",
              "type": "string"
            }
          },
          {
            "name": "subSourceId",
            "required": false,
            "in": "query",
            "description": "Workflow action ID. Only valid when source is `workflow-campaigns`",
            "schema": {
              "example": "step001",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_GetCampaignStatsPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Statistics"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/stats.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/emails": {
      "post": {
        "operationId": "create-email-campaign",
        "x-version-added": "v3",
        "summary": "Create Email Campaign",
        "description": "Create a new email campaign",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_CreateEmailCampaignPublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_CreateEmailCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "list-email-campaigns",
        "x-version-added": "v3",
        "summary": "List Email Campaigns",
        "description": "Get list of email campaigns for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of campaigns to return. Defaults to 10, minimum is 1, maximum is 20",
            "schema": {
              "minimum": 1,
              "maximum": 20,
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of campaigns to skip for pagination. Defaults to 0, minimum is 0",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search text for campaign name",
            "schema": {
              "example": "newsletter",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter by campaign status",
            "schema": {
              "example": "all",
              "enum": [
                "all",
                "sent",
                "failed",
                "archived",
                "draft",
                "processing",
                "scheduled",
                "cancelled",
                "paused"
              ],
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_ListEmailCampaignsPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/emails/{campaignId}": {
      "patch": {
        "operationId": "update-email-campaign",
        "x-version-added": "v3",
        "summary": "Update Email Campaign",
        "description": "Update an email campaign draft",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign ID",
            "schema": {
              "example": "67f15c2ae99226d5bcccb8f3",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_UpdateEmailCampaignPublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_UpdateEmailCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-email-campaign",
        "x-version-added": "v3",
        "summary": "Get Email Campaign by ID",
        "description": "Get a single email campaign by its ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign ID",
            "schema": {
              "example": "67f15c2ae99226d5bcccb8f3",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_GetEmailCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-campaign",
        "x-version-added": "v3",
        "summary": "Delete Campaign",
        "description": "Delete a campaign",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign ID",
            "schema": {
              "example": "zYy3YOUuHxgomU1uYJty",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_DeleteCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.write"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/workflows": {
      "get": {
        "operationId": "list-workflow-campaigns",
        "x-version-added": "v3",
        "summary": "List Workflow Campaigns",
        "description": "Get list of workflow campaigns for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "k23k23jl23l32l",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of campaigns to return. Defaults to 10, minimum is 1, maximum is 20",
            "schema": {
              "minimum": 1,
              "maximum": 20,
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of items to skip for pagination. Defaults to 0, minimum is 0",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search query to filter campaigns.",
            "schema": {
              "default": "",
              "example": "workflow",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter by campaign status",
            "schema": {
              "example": "published",
              "enum": [
                "published",
                "draft"
              ],
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_ListWorkflowCampaignsPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/workflows/{campaignId}": {
      "get": {
        "operationId": "get-workflow-campaign",
        "x-version-added": "v3",
        "summary": "Get Workflow Campaign by ID",
        "description": "Get a single workflow campaign by its ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign ID",
            "schema": {
              "example": "693bd14ea6b50a8df0180e9a",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_GetWorkflowCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/bulk-actions": {
      "get": {
        "operationId": "list-bulk-action-campaigns",
        "x-version-added": "v3",
        "summary": "List Bulk Action Campaigns",
        "description": "Get list of bulk action campaigns for a location",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Number of campaigns to return. Defaults to 10, minimum is 1, maximum is 20",
            "schema": {
              "minimum": 1,
              "maximum": 20,
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "description": "Number of campaigns to skip for pagination. Defaults to 0, minimum is 0",
            "schema": {
              "minimum": 0,
              "default": 0,
              "example": 0,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search query to filter campaigns.",
            "schema": {
              "default": "",
              "example": "action",
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "required": false,
            "in": "query",
            "description": "Filter by start date (ISO 8601 format)",
            "schema": {
              "example": "2024-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "required": false,
            "in": "query",
            "description": "Filter by end date (ISO 8601 format)",
            "schema": {
              "example": "2024-12-31T23:59:59.999Z",
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter by status",
            "schema": {
              "example": "complete",
              "enum": [
                "processing",
                "scheduled",
                "paused",
                "complete",
                "cancelled"
              ],
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_ListBulkActionCampaignsPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/bulk-actions/{campaignId}": {
      "get": {
        "operationId": "get-bulk-action-campaign",
        "x-version-added": "v3",
        "summary": "Get Bulk Action Campaign by ID",
        "description": "Get a single bulk action campaign by its ID",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign ID",
            "schema": {
              "example": "OI72xYec4Mho6VBykTvj",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_GetBulkActionCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.readonly"
            ]
          }
        ]
      }
    },
    "/emails/locations/{locationId}/campaigns/emails/{campaignId}/schedule": {
      "post": {
        "operationId": "schedule-campaign",
        "x-version-added": "v3",
        "summary": "Schedule Campaign",
        "description": "Schedule or start an email campaign. The campaign must be in draft, cancelled, or paused status.",
        "parameters": [
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID",
            "schema": {
              "example": "ve9EPM428h8vShlRW1KT",
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "required": true,
            "in": "path",
            "description": "Campaign ID",
            "schema": {
              "example": "67f15c2ae99226d5bcccb8f3",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignPublicV2BodyDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_ScheduleCampaignPublicV2ResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "403": {
            "description": "The token does not have access to this location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/emails_v3_InvalidLocationDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundDTO"
                }
              }
            }
          },
          "409": {
            "description": "Conflict - Campaign is already scheduled or being processed"
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Campaigns"
        ],
        "security": [
          {
            "Location-Access": [
              "emails/campaigns.write"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/permissions": {
      "get": {
        "operationId": "get-location-permissions",
        "summary": "Get Permissions",
        "description": "Get Sub-Account (Formerly Location) permissions",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_PermissionsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Permissions"
        ],
        "security": [
          {
            "Agency-Access": [
              "locations/write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "update-location-permissions",
        "summary": "Update Permissions",
        "description": "Update Sub-Account (Formerly Location) permissions",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_v3_UpdatePermissionsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_PermissionsResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Permissions"
        ],
        "security": [
          {
            "Agency-Access": [
              "locations/write"
            ]
          }
        ]
      }
    },
    "/locations/{locationId}/conversationChannels/{type}": {
      "get": {
        "operationId": "get-conversation-channel",
        "summary": "Get Conversation Channel",
        "description": "Get the conversation channel providers configured for a location by type (SMS or Email)",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": true,
            "in": "path",
            "description": "Channel type to retrieve providers for",
            "schema": {
              "type": "string",
              "enum": [
                "SMS",
                "Email"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved all the conversation channels",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/locations_v3_GetConversationChannelListSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Conversation Channel"
        ],
        "security": [
          {
            "Location-Access": [
              "locations.readonly"
            ]
          }
        ]
      }
    },
    "/oauth/location-token": {
      "post": {
        "operationId": "get-location-access-token",
        "x-version-added": "v3",
        "summary": "Get Location Access Token from Agency Token",
        "description": "This API allows you to generate locationAccessToken from AgencyAccessToken",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/oauth_v3_GetLocationAccessCodeBodyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_v3_GetLocationAccessTokenV3SuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth 2.0"
        ],
        "security": [
          {
            "Agency-Access-Only": [
              "oauth.write"
            ]
          }
        ]
      }
    },
    "/oauth/installed-locations": {
      "get": {
        "operationId": "get-installed-location",
        "x-version-added": "v3",
        "summary": "Get Location where app is installed",
        "description": "This API allows you fetch location where app is installed upon",
        "parameters": [
          {
            "name": "pageSize",
            "required": false,
            "in": "query",
            "description": "Max items per page (1-100). Replaces legacy `limit` parameter per AIP-158.",
            "schema": {
              "default": 20,
              "example": 20,
              "type": "number"
            }
          },
          {
            "name": "pageToken",
            "required": false,
            "in": "query",
            "description": "Opaque token returned in a previous response to fetch the next page. Replaces legacy `skip` parameter per AIP-158.",
            "schema": {
              "example": "eyJza2lwIjoyMH0",
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Parameter to search for the installed location by name",
            "schema": {
              "example": "location name",
              "type": "string"
            }
          },
          {
            "name": "isInstalled",
            "required": false,
            "in": "query",
            "description": "Filters out location which are installed for specified app under the specified company",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "restrictToUserLocations",
            "required": false,
            "in": "query",
            "description": "When true, restricts the list to locations the current user has access to (for restricted agency admins and account admins). When false or omitted, no user-based filter is applied for installed list; for backward compatibility, install list (isInstalled=false) is still filtered by user when this param is omitted.",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "query",
            "description": "Parameter to search by the companyId",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "appId",
            "required": true,
            "in": "query",
            "description": "Parameter to search by the appId",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "versionId",
            "required": false,
            "in": "query",
            "description": "VersionId of the app",
            "schema": {
              "example": "tDtDnQdgm2LXpyiqYvZ6",
              "type": "string"
            }
          },
          {
            "name": "onTrial",
            "required": false,
            "in": "query",
            "description": "Filters out locations which are installed for specified app in trial mode",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "name": "planId",
            "required": false,
            "in": "query",
            "description": "Filters out location which are installed for specified app under the specified planId",
            "schema": {
              "example": true,
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": false,
            "in": "query",
            "description": "locationId",
            "schema": {
              "example": "1245",
              "type": "string"
            }
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_v3_GetInstalledLocationsV3SuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Invalid argument (AIP error envelope)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_v3_AipErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "App not found (AIP error envelope)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_v3_AipErrorResponseDto"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth 2.0"
        ],
        "security": [
          {
            "Agency-Access-Only": [
              "oauth.readonly"
            ]
          }
        ]
      }
    },
    "/saas/allow-attach-rebilling/{locationId}": {
      "post": {
        "operationId": "allow-attach-rebilling",
        "summary": "Allow Attach Rebilling",
        "description": "Marks a SaaS sub-account as awaiting rebilling attach and optionally stores the rebilling configuration that should be applied when the rebilling config is created. Sets payment_pending on the sub-account. Only allowed when the sub-account is in setup_pending state.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID (Sub-account) to allow attach rebilling for",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_AllowAttachRebillingDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Allow attach rebilling completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_AllowAttachRebillingResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity (e.g. sub-account already in saas mode activated, or not in setup_pending state)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": [
              "saas/company.read"
            ]
          }
        ]
      }
    },
    "/saas-api/public-api/companies/{companyId}/locations/{locationId}/wallet-balance": {
      "get": {
        "operationId": "getLocationWalletBalance",
        "summary": "Get Location Wallet Balance",
        "description": "Fetch the wallet balance for a specific location. Returns a resource object with balance details.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID that owns the location",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID to get wallet balance for",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Location wallet balance retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_LocationWalletBalanceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": [
              "saas/company.read"
            ]
          }
        ]
      }
    },
    "/saas-api/public-api/companies/{companyId}/locations/{locationId}/wallet-balance/complimentary-credits": {
      "post": {
        "operationId": "updateLocationWalletBalance",
        "summary": "Update Location Wallet Balance",
        "description": "Update the wallet balance or complimentary credit settings for a specific location. Supports partial updates via updateMask field (AIP-134 compliant).",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            }
          },
          {
            "name": "companyId",
            "required": true,
            "in": "path",
            "description": "Company ID that owns the location",
            "example": "5DP4iH6HLkQsiKESj6rh",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Location ID to update wallet balance for",
            "example": "AUKAtFVo0lWezBsBQ3FE",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/saas_v3_ComplimentaryCreditDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Location wallet balance updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_LocationWalletBalanceDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_ResourceNotFoundDTO"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/saas_v3_InternalServerErrorDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Saas"
        ],
        "security": [
          {
            "Agency-Access": [
              "saas/company.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/oauth/{platform}/start": {
      "get": {
        "operationId": "start-oauth",
        "summary": "Start OAuth Flow (Step 1 of 3)",
        "description": "## OAuth Connection Flow - Step 1: Initiate OAuth\n\nThis is the first step in the 3-step OAuth flow to connect a social media account:\n\n1. **Start OAuth** (this endpoint) → User authenticates with the platform\n2. **Get Accounts** → Retrieve available pages/channels to connect\n3. **Attach Account** → Connect the selected account to your location\n\n### How to Use\n\nOpen this API in a browser window (not via cURL) with the required query parameters. The user will be redirected to the platform's OAuth login screen.\n\n### Receiving the OAuth Response\n\nAfter successful authentication, the OAuth window will post a message back to your application. Listen for this message to get the `accountId` needed for the next step.\n\n```javascript\nwindow.addEventListener('message', function(e) {\n  if (e.data && e.data.page === 'social_media_posting') {\n    const { actionType, page, platform, placement, accountId, reconnectAccounts } = e.data;\n    // Use accountId for Step 2: GET /oauth/{locationId}/{platform}/accounts/{accountId}\n  }\n}, false);\n```\n\n### Event Data Response\n\n| Field | Type | Example | Description |\n|-------|------|---------|-------------|\n| actionType | string | \"close\" | The action type |\n| page | string | \"social-media-posting\" | Source page identifier |\n| platform | string | \"facebook\" | The OAuth platform |\n| placement | string | \"placement\" | Placement context |\n| accountId | string | \"658a9b6833b91e0ecb8f3958\" | **Use this for Step 2** |\n| reconnectAccounts | string[] | [\"658a9b...\", \"efd2da...\"] | Accounts that need reconnection |\n\n### Next Step\n\nUse the `accountId` from the response to call:\n```\nGET /social-media-posting/oauth/{locationId}/{platform}/accounts/{accountId}\n```\n\n### Platform Notes\n\n- **bluesky**: Currently not supported, will return an error\n- **tiktok-business**: Uses a separate business OAuth flow",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            },
            "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Social media platform to connect. Each platform has specific account types:\n- **google**: Google Business Profile locations\n- **facebook**: Facebook Pages\n- **instagram**: Instagram Professional Accounts (Business/Creator)\n- **linkedin**: LinkedIn Pages and Profiles\n- **tiktok**: TikTok Creator Accounts\n- **tiktok-business**: TikTok Business Center Accounts\n- **youtube**: YouTube Channels\n- **pinterest**: Pinterest Business Accounts\n- **threads**: Threads Profiles\n- **bluesky**: Bluesky Accounts (currently not supported)",
            "schema": {
              "type": "string",
              "enum": [
                "google",
                "facebook",
                "instagram",
                "linkedin",
                "tiktok",
                "tiktok-business",
                "youtube",
                "pinterest",
                "threads",
                "bluesky"
              ]
            },
            "example": "facebook"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "required": true,
            "in": "query",
            "description": "User Id",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page",
            "example": "integration",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reconnect",
            "required": false,
            "in": "query",
            "description": "Reconnect",
            "example": "true",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth | Generic"
        ]
      }
    },
    "/social-media-posting/oauth/{locationId}/{platform}/accounts/{accountId}": {
      "get": {
        "operationId": "get-oauth-accounts",
        "summary": "Get Available Accounts (Step 2 of 3)",
        "description": "## OAuth Connection Flow - Step 2: Get Available Accounts\n\nAfter completing OAuth authentication (Step 1), use this endpoint to retrieve the list of available pages, channels, or locations that can be connected.\n\n### OAuth Flow Position\n\n1. **Start OAuth** → User authenticates, returns `accountId`\n2. **Get Accounts** (this endpoint) → Lists available pages/channels to connect\n3. **Attach Account** → Connect the selected account\n\n### What This Returns\n\nThe response varies by platform:\n\n| Platform | Returns |\n|----------|--------|\n| **facebook** | List of Facebook Pages the user manages |\n| **instagram** | List of Instagram Professional Accounts (linked to Facebook Pages) |\n| **google** | Google Business Profile locations |\n| **linkedin** | LinkedIn Pages and Profile |\n| **tiktok** | TikTok Creator account info |\n| **tiktok-business** | TikTok Business Center accounts |\n| **youtube** | YouTube Channels |\n| **pinterest** | Pinterest Business accounts and boards |\n| **threads** | Threads profiles |\n\n### Next Step\n\nFrom the response, select the account/page you want to connect and use its details in Step 3:\n```\nPOST /social-media-posting/oauth/{locationId}/{platform}/accounts/{accountId}\n```",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            },
            "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "Account Location Id",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Social media platform",
            "example": "facebook",
            "schema": {
              "type": "string",
              "enum": [
                "google",
                "facebook",
                "instagram",
                "linkedin",
                "tiktok",
                "tiktok-business",
                "youtube",
                "pinterest",
                "threads",
                "bluesky"
              ]
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "The OAuth Account ID received from Step 1 (Start OAuth) via the window message event",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "description": "Search term to filter accounts/pages by name. Useful when the user has many pages to choose from.",
            "example": "My Business Page",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns available accounts/pages/channels that can be connected. Response structure varies by platform - see examples below.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetFacebookAccountsResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetInstagramAccountsResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetGoogleLocationResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetLinkedInAccountsResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetTiktokAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetTiktokBusinessAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetYouTubeAccountsResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_GetPinterestAccountsResponseDTO"
                    }
                  ]
                },
                "examples": {
                  "facebook": {
                    "summary": "Facebook Pages Response",
                    "description": "Returns Facebook Pages the user can manage. Use the page's `id` as `originId` when attaching.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched Facebook Account",
                      "results": {
                        "pages": [
                          {
                            "id": "244405123411687",
                            "name": "My Business Page",
                            "avatar": "https://graph.facebook.com/244405123411687/picture",
                            "isOwned": true,
                            "isConnected": false
                          },
                          {
                            "id": "567890123456789",
                            "name": "Another Page",
                            "avatar": "https://graph.facebook.com/567890123456789/picture",
                            "isOwned": false,
                            "isConnected": true
                          }
                        ]
                      }
                    }
                  },
                  "instagram": {
                    "summary": "Instagram Professional Accounts Response",
                    "description": "Returns Instagram Professional Accounts (Business/Creator) linked to Facebook Pages.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched Instagram Account",
                      "results": {
                        "accounts": [
                          {
                            "id": "17841405123456789",
                            "name": "my_instagram_business",
                            "avatar": "https://...",
                            "isConnected": false,
                            "pageId": "244405123411687",
                            "isBusinessAccount": true
                          }
                        ]
                      }
                    }
                  },
                  "google": {
                    "summary": "Google Business Profile Locations Response",
                    "description": "Returns Google Business Profile locations. Use both `location` and `account` objects when attaching.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched Google Business Account",
                      "results": {
                        "locations": {
                          "location": {
                            "name": "locations/12345678901234567890",
                            "storeCode": "STORE001",
                            "title": "My Business Location",
                            "metadata": {
                              "hasGoogleUpdated": true,
                              "canDelete": true
                            },
                            "storefrontAddress": {
                              "locality": "New York",
                              "regionCode": "US"
                            },
                            "isVerified": true,
                            "isConnected": false
                          },
                          "account": {
                            "name": "accounts/123456789012345678",
                            "accountName": "My Business Account",
                            "type": "PERSONAL",
                            "verificationState": "VERIFIED",
                            "vettedState": "VETTED"
                          }
                        }
                      }
                    }
                  },
                  "linkedin": {
                    "summary": "LinkedIn Pages & Profile Response",
                    "description": "Returns LinkedIn company pages and personal profile the user can post from.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched LinkedIn Account",
                      "results": {
                        "pages": [
                          {
                            "id": "urn:li:organization:12345678",
                            "name": "My Company",
                            "avatar": "https://...",
                            "isConnected": false
                          }
                        ],
                        "profile": {
                          "id": "urn:li:person:AbCdEfGhIj",
                          "name": "John Doe",
                          "avatar": "https://..."
                        }
                      }
                    }
                  },
                  "tiktok": {
                    "summary": "TikTok Creator Account Response",
                    "description": "Returns TikTok creator account information.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched TikTok Account",
                      "results": {
                        "openId": "7234567890123456789",
                        "displayName": "My TikTok",
                        "avatarUrl": "https://...",
                        "isConnected": false
                      }
                    }
                  },
                  "youtube": {
                    "summary": "YouTube Channels Response",
                    "description": "Returns YouTube channels the user owns.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched YouTube Account",
                      "results": {
                        "channels": [
                          {
                            "id": "UCabcdefghijklmnop",
                            "name": "My YouTube Channel",
                            "avatar": "https://...",
                            "isConnected": false
                          }
                        ]
                      }
                    }
                  },
                  "pinterest": {
                    "summary": "Pinterest Account Response",
                    "description": "Returns Pinterest business account information.",
                    "value": {
                      "success": true,
                      "statusCode": 200,
                      "message": "Fetched Pinterest Account",
                      "results": {
                        "id": "123456789012345678",
                        "username": "mybusiness",
                        "businessName": "My Pinterest Business",
                        "avatar": "https://...",
                        "isConnected": false
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth | Generic"
        ]
      },
      "post": {
        "operationId": "attach-oauth-accounts",
        "summary": "Connect Account (Step 3 of 3)",
        "description": "## OAuth Connection Flow - Step 3: Connect the Account\n\nThis is the final step in the OAuth flow. After retrieving available accounts (Step 2), use this endpoint to connect the selected account to your location.\n\n### OAuth Flow Summary\n\n1. **Start OAuth** → User authenticates with platform\n2. **Get Accounts** → Retrieved available pages/channels\n3. **Attach Account** (this endpoint) → Connect the selected account\n\n### Request Body by Platform\n\nThe request body structure varies depending on the platform:\n\n#### Facebook / Instagram\n```json\n{\n  \"type\": \"page\",\n  \"originId\": \"244405XXXXX11687\",\n  \"name\": \"My Facebook Page\",\n  \"avatar\": \"https://...\" // optional\n}\n```\n\n#### Google Business Profile\n```json\n{\n  \"location\": {\n    \"name\": \"locations/12345\",\n    \"title\": \"My Business Location\",\n    \"storeCode\": \"STORE123\",\n    \"isVerified\": \"ChIJsZQpj1qbXjkRQNDUG4UUx6k\"\n  },\n  \"account\": {\n    \"name\": \"accounts/12345\",\n    \"accountName\": \"My Business Account\",\n    \"type\": \"LOCATION_GROUP\",\n    \"verificationState\": \"VERIFIED\",\n    \"vettedState\": \"VETTED\"\n  }\n}\n```\n\n#### LinkedIn\n```json\n{\n  \"type\": \"page\",\n  \"originId\": \"urn:li:organization:12345\",\n  \"name\": \"My LinkedIn Page\",\n  \"avatar\": \"https://...\" // optional\n}\n```\n\n#### TikTok\n```json\n{\n  \"originId\": \"7234567890123456789\",\n  \"name\": \"My TikTok Account\",\n  \"avatar\": \"https://...\" // optional\n}\n```\n\n#### YouTube\n```json\n{\n  \"originId\": \"UCxxxxxxxxxxxxxxxx\",\n  \"name\": \"My YouTube Channel\",\n  \"avatar\": \"https://...\" // optional\n}\n```\n\n#### Pinterest\n```json\n{\n  \"originId\": \"123456789\",\n  \"name\": \"My Pinterest Account\",\n  \"avatar\": \"https://...\" // optional\n}\n```\n\n### After Connection\n\nOnce connected, the account will appear in your location's connected accounts and can be used for social media posting.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "Access Token",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
            },
            "example": "Bearer 9c48df2694a849b6089f9d0d3513efe"
          },
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "path",
            "description": "The Location ID where you want to connect this social account",
            "example": "w37swmmLbA02zgqKPpxITe2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Social media platform (must match the platform used in Steps 1 and 2)",
            "example": "facebook",
            "schema": {
              "type": "string",
              "enum": [
                "google",
                "facebook",
                "instagram",
                "linkedin",
                "tiktok",
                "youtube",
                "pinterest",
                "threads",
                "bluesky"
              ]
            }
          },
          {
            "name": "accountId",
            "required": true,
            "in": "path",
            "description": "The OAuth Account ID received from Step 1 (same as used in Step 2)",
            "example": "w37swmmLbA02zgqKPpxITe",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Account details to connect. The structure varies by platform - see description above for examples.",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachFBAccountDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachIGAccountDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachGMBLocationDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachPinterestAccountDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachTiktokAccountDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachYoutubeAccountResponseDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachLinkedinAccountDTO"
                  },
                  {
                    "$ref": "#/components/schemas/social_planner_v3_AttachThreadsAccountDTO"
                  }
                ]
              },
              "examples": {
                "facebook": {
                  "summary": "Facebook Page",
                  "value": {
                    "type": "page",
                    "originId": "244405123411687",
                    "name": "My Facebook Page",
                    "avatar": "https://graph.facebook.com/244405123411687/picture"
                  }
                },
                "instagram": {
                  "summary": "Instagram Professional Account",
                  "value": {
                    "type": "page",
                    "originId": "17841405123456789",
                    "name": "My Instagram Business",
                    "avatar": "https://..."
                  }
                },
                "google": {
                  "summary": "Google Business Profile",
                  "value": {
                    "location": {
                      "name": "locations/12345678901234567890",
                      "title": "My Business Location",
                      "storeCode": "STORE001"
                    },
                    "account": {
                      "name": "accounts/123456789012345678",
                      "accountName": "My Business Account",
                      "type": "LOCATION_GROUP",
                      "verificationState": "VERIFIED",
                      "vettedState": "VETTED"
                    }
                  }
                },
                "linkedin": {
                  "summary": "LinkedIn Page",
                  "value": {
                    "type": "page",
                    "originId": "urn:li:organization:12345678",
                    "name": "My Company Page"
                  }
                },
                "tiktok": {
                  "summary": "TikTok Account",
                  "value": {
                    "originId": "7234567890123456789",
                    "name": "My TikTok",
                    "avatar": "https://..."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response - Account attached. Response structure varies by platform.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaFBAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaInstagramAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaGmbAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaLinkedInAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaTiktokAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaYouTubeAccountResponseDTO"
                    },
                    {
                      "$ref": "#/components/schemas/social_planner_v3_SocialMediaPinterestAccountResponseDTO"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "OAuth | Generic"
        ]
      }
    },
    "/social-media-posting/category/queues/available-categories": {
      "get": {
        "operationId": "fetchAvailableCategories",
        "summary": "Get all categories with their queue status",
        "description": "Returns categories with status: \"available\" (no queue), \"in_queue\" (active/paused queue), or \"draft\" (queue in draft).",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "609e126a1c4ae1001291e1b5",
              "type": "string"
            },
            "example": "609e126a1c4ae1001291e1b5"
          },
          {
            "name": "skip",
            "required": false,
            "in": "query",
            "description": "Number of items to skip",
            "schema": {
              "example": "0",
              "type": "string"
            },
            "example": "0"
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "description": "Maximum number of items to return",
            "schema": {
              "example": "10",
              "type": "string"
            },
            "example": "10"
          },
          {
            "name": "q",
            "required": false,
            "in": "query",
            "description": "Search query",
            "schema": {
              "example": "Marketing",
              "type": "string"
            },
            "example": "Marketing"
          }
        ],
        "responses": {
          "200": {
            "description": "Available categories fetched successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedFetchAvailableCategoriesResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues": {
      "post": {
        "operationId": "createQueue",
        "summary": "Create a new category queue",
        "description": "Creates a queue in draft status for a category. Published posts are auto-added. Use update endpoint to activate.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CreateCategoryQueueDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Queue created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedCreateCategoryQueueResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/list": {
      "post": {
        "operationId": "fetchQueues",
        "summary": "Fetch category queues for a location",
        "description": "Retrieves a paginated list of all category queues for a given location, excluding any that have been marked as deleted.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_FetchCategoryQueuesDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successfully retrieved category queues.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedFetchCategoryQueuesResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}": {
      "get": {
        "operationId": "fetchQueueById",
        "summary": "Fetch a category queue by ID",
        "description": "Retrieves the details of a single category queue by its unique ID. The response includes a count of posts within the queue that have errors.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "609e126a1c4ae1001291e1b5",
              "type": "string"
            },
            "example": "609e126a1c4ae1001291e1b5"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the category queue.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedFetchQueueByIdResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      },
      "put": {
        "operationId": "updateQueue",
        "summary": "Update queue settings or status",
        "description": "Updates queue status (active/paused/deleted), time slots, or skip dates.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_UpdateCategoryQueueDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Queue updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedUpdateCategoryQueueResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/items": {
      "post": {
        "operationId": "fetchQueueItems",
        "summary": "Fetch items from a queue",
        "description": "Returns paginated queue items. Pass sessionId to get draft items from an edit session instead of live items.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_FetchQueueItemsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Queue items fetched successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedFetchQueueItemsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/edit/start": {
      "post": {
        "operationId": "startEditSession",
        "summary": "Start or resume an edit session",
        "description": "Creates a draft copy of queue items for editing. Changes are staged until saved or discarded.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_StartEditSessionDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Edit session started successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedStartEditSessionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/edit/save": {
      "post": {
        "operationId": "saveEditSession",
        "summary": "Save edit session changes",
        "description": "Applies all staged changes to the live queue and closes the edit session.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_SaveEditSessionDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Edit session saved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedSaveEditSessionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/edit/discard": {
      "post": {
        "operationId": "discardEditSession",
        "summary": "Discard edit session changes",
        "description": "Cancels the edit session and deletes all staged changes without affecting the live queue.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_DiscardEditSessionDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Edit session discarded successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedDiscardEditSessionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/edit/calendar": {
      "post": {
        "operationId": "fetchEditSessionCalendar",
        "summary": "Fetch calendar view for an edit session",
        "description": "Retrieves a calendar preview of scheduled posts based on draft items within an edit session. This shows how posts would be scheduled if changes were saved.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_EditSessionCalendarDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Edit session calendar fetched successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedEditSessionCalendarResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/slots": {
      "post": {
        "operationId": "fetchSlots",
        "summary": "Fetch slot information for queue items",
        "description": "Returns paginated slot information (scheduledDateTime, isSkipped) for queue items. Pass sessionId to get slots for draft items, or omit for live items. Call this after mutations to refresh slot data.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_FetchSlotsDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Slots fetched successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedFetchSlotsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/items/{itemId}": {
      "delete": {
        "operationId": "deleteQueueItem",
        "summary": "Delete an item from a queue",
        "description": "Deletes an item from a specific category queue.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "609e126a1c4ae1001291e1b5",
              "type": "string"
            },
            "example": "609e126a1c4ae1001291e1b5"
          },
          {
            "name": "sessionId",
            "required": false,
            "in": "query",
            "description": "Edit session ID",
            "schema": {
              "example": "60af88475f1b2c001f5d5f4b",
              "type": "string"
            },
            "example": "60af88475f1b2c001f5d5f4b"
          }
        ],
        "responses": {
          "200": {
            "description": "The queue item has been successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedGeneralSuccessResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      },
      "put": {
        "operationId": "updateQueueItem",
        "summary": "Update an item in a queue",
        "description": "Updates the content or variations of a specific item within a category queue.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_UpdateQueueItemDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The queue item has been successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedUpdateQueueItemResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/list/calendar": {
      "post": {
        "operationId": "fetchCalendarList",
        "summary": "Get scheduled posts calendar view",
        "description": "Returns scheduled posts from active queues within a date range. Supports filtering by categories and accounts.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CalendarListDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Calendar list fetched successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedFetchCalendarListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.readonly"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{postId}/active-post": {
      "delete": {
        "operationId": "deleteCurrentActivePostAndScheduleNext",
        "summary": "Delete an active post and schedule the next one",
        "description": "Deletes a post that is currently scheduled and automatically triggers the scheduling of the next available post in the queue.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "postId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "609e126a1c4ae1001291e1b5",
              "type": "string"
            },
            "example": "609e126a1c4ae1001291e1b5"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted the active post and scheduled the next one.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedDeleteActivePostResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/items/{itemId}/reset": {
      "put": {
        "operationId": "resetQueueItem",
        "summary": "Reset an item in a queue",
        "description": "Resets a specific queue item to its original state, discarding any modifications made.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_ResetQueueItemDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The queue item has been successfully reset.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedResetQueueItemResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/items/{itemId}/clone": {
      "post": {
        "operationId": "cloneQueueItem",
        "summary": "Clone a queue item",
        "description": "Duplicates an existing queue item at a specified order position. Requires an active edit session.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CloneQueueItemDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Queue item cloned successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedCloneQueueItemResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/category/queues/{queueId}/create/item": {
      "post": {
        "operationId": "createQueueItem",
        "summary": "Create a new item in the queue",
        "description": "Adds a new post item to a queue. Use sessionId for edit session or directToQueue for immediate addition.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ]
            },
            "example": "v3"
          },
          {
            "name": "queueId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CreateQueueItemDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Queue item created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_WrappedCreateQueueItemResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Category Queue"
        ],
        "security": [
          {
            "bearer": [
              "socialplanner/category.write"
            ]
          }
        ]
      }
    },
    "/social-media-posting/comments/{platform}": {
      "post": {
        "operationId": "create-comment",
        "summary": "Create a comment or reply",
        "description": "Create a top-level comment on a post (`isParentThread: true`, `parentId` = postId) or a reply to an existing comment (`isParentThread: false`, `parentId` = commentId). Per-platform content max length: Facebook 8000, Instagram 2200, Linkedin 3000, Community 8000, Tiktok 150, Bluesky 300, Youtube 10000, Threads 500.\n\n**Optional-field platform support:**\n- `attachments` — supported on **Facebook only**. Ignored on Instagram, LinkedIn, TikTok, Bluesky, Community (Community processes the field but external URLs are not rendered due to its bucket restriction).\n- `mentions` — supported on **Facebook**, **LinkedIn**, and **Community** only. Ignored on Instagram, TikTok, Bluesky.\n- `notifyAllGroupMembers` — supported on **Community** only. When `true`, all group members get a push/in-app notification (equivalent to an `@everyone` broadcast). Independent of the `mentions` array and of `@everyone` text in `content`. Default `false`.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Supported Comments Platforms",
            "schema": {
              "example": "facebook",
              "enum": [
                "facebook",
                "instagram",
                "linkedin",
                "community",
                "tiktok",
                "bluesky",
                "youtube",
                "threads"
              ],
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "1234",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CommentsCreateBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_CommentsCreateResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Comments"
        ]
      }
    },
    "/social-media-posting/comments/{platform}/{id}/like": {
      "post": {
        "operationId": "create-like",
        "summary": "Like a comment",
        "description": "Like a comment by its **CRM Gesvision** comment ID (the `_id` returned by the list-comments endpoint — not the native platform ID).\n\nWorks for any comment level — top-level comments, replies, and replies-to-replies. **Supported platforms:** Facebook, LinkedIn, Community, TikTok, Bluesky. Instagram is not supported (passing `instagram` returns 400).",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Platform that supports liking / unliking comments (Instagram is not supported)",
            "schema": {
              "example": "facebook",
              "enum": [
                "facebook",
                "linkedin",
                "community",
                "tiktok",
                "bluesky"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "CRM Gesvision comment ID — the `_id` returned by the list-comments endpoint (`POST /comments/{platform}/list`). Not the native platform comment ID. Works for any comment level: top-level comments, replies, and replies-to-replies.",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "1234",
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_CommentsLikeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "State conflict (already liked) or unsupported platform (Instagram)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Comments"
        ]
      },
      "delete": {
        "operationId": "delete-like",
        "summary": "Unlike a comment",
        "description": "Remove a like from a comment by its **CRM Gesvision** comment ID (the `_id` returned by the list-comments endpoint — not the native platform ID).\n\nWorks for any comment level — top-level comments, replies, and replies-to-replies. **Supported platforms:** Facebook, LinkedIn, Community, TikTok, Bluesky. Instagram is not supported (passing `instagram` returns 400).",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Platform that supports liking / unliking comments (Instagram is not supported)",
            "schema": {
              "example": "facebook",
              "enum": [
                "facebook",
                "linkedin",
                "community",
                "tiktok",
                "bluesky"
              ],
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "CRM Gesvision comment ID — the `_id` returned by the list-comments endpoint (`POST /comments/{platform}/list`). Not the native platform comment ID. Works for any comment level: top-level comments, replies, and replies-to-replies.",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "1234",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_DeleteLikeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "State conflict (not currently liked) or unsupported platform (Instagram)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Comments"
        ]
      }
    },
    "/social-media-posting/comments/{platform}/list": {
      "post": {
        "operationId": "get-comment-list",
        "summary": "List comments for a post or thread",
        "description": "Paginated list of comments scoped to a post (`parentId` = postId) or a comment thread (`parentId` = commentId). Use `skip`/`limit` for pagination, `sortBy` for ordering, `originIds` to filter by connected account, and `search` for keyword search.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "v3"
              ],
              "example": "v3"
            }
          },
          {
            "name": "platform",
            "required": true,
            "in": "path",
            "description": "Supported Comments Platforms",
            "schema": {
              "example": "facebook",
              "enum": [
                "facebook",
                "instagram",
                "linkedin",
                "community",
                "tiktok",
                "bluesky",
                "youtube",
                "threads"
              ],
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "1234",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/social_planner_v3_CommentsGetListBodyDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social_planner_v3_CommentsGetListResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Comments"
        ]
      }
    },
    "/voice-ai/agents": {
      "post": {
        "operationId": "create-agent",
        "summary": "Create Agent",
        "description": "Create a new voice AI agent configuration and settings",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/voice_ai_AgentCreationRequestDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Agent created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_CreateAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agents.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-agents",
        "summary": "List Agents",
        "description": "Retrieve a paginated list of agents for given location.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page number starting from 1",
            "schema": {
              "minimum": 1,
              "maximum": 5000,
              "default": 1,
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "required": false,
            "in": "query",
            "description": "Number of items per page",
            "schema": {
              "minimum": 1,
              "maximum": 50,
              "default": 10,
              "example": 10,
              "type": "number"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query",
            "required": false,
            "in": "query",
            "description": "Query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agent list retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_GetAgentsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agents.readonly"
            ]
          }
        ]
      }
    },
    "/voice-ai/agents/{agentId}": {
      "patch": {
        "operationId": "patch-agent",
        "summary": "Patch Agent",
        "description": "Partially update an existing voice AI agent",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "description": "Unique agent identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "LOC123456789ABCDEF",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/voice_ai_PatchAgentDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Agent updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_PatchAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agents.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-agent",
        "summary": "Get Agent",
        "description": "Retrieve detailed configuration and settings for a specific voice AI agent",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "description": "Unique agent identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "LOC123456789ABCDEF",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agent details retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_GetAgentResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agents.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-agent",
        "summary": "Delete Agent",
        "description": "Delete a voice AI agent and all its configurations",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "path",
            "description": "Unique agent identifier",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "LOC123456789ABCDEF",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Agent deleted successfully"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Agents"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agents.write"
            ]
          }
        ]
      }
    },
    "/voice-ai/dashboard/call-logs": {
      "get": {
        "operationId": "get-call-logs",
        "summary": "List Call Logs",
        "description": "Returns call logs for Voice AI agents scoped to a location. Supports filtering by agent, contact, call type, action types, and date range (interpreted in the provided IANA timezone). Also supports sorting and 1-based pagination.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location identifier. Filters results to this location.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "required": false,
            "in": "query",
            "description": "Agent identifier. When provided, returns logs for this agent only.",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "required": false,
            "in": "query",
            "description": "Contact IDs (comma-separated) to filter by.",
            "schema": {
              "example": "contact123,contact456",
              "type": "string"
            }
          },
          {
            "name": "callType",
            "required": false,
            "in": "query",
            "description": "Call type filter.",
            "schema": {
              "enum": [
                "LIVE",
                "TRIAL"
              ],
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "required": false,
            "in": "query",
            "description": "Start date filter (Unix timestamp). Must be less than endDate. Both startDate and endDate must be provided together.",
            "schema": {
              "example": 1679308800000,
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "required": false,
            "in": "query",
            "description": "End date filter (Unix timestamp). Must be greater than startDate. Both startDate and endDate must be provided together.",
            "schema": {
              "example": 1679395199000,
              "type": "number"
            }
          },
          {
            "name": "actionType",
            "required": false,
            "in": "query",
            "description": "Action type filter for call logs (comma-separated ACTION_TYPE values)",
            "schema": {
              "example": "SMS,CALL_TRANSFER,WORKFLOW_TRIGGER",
              "enum": [
                "CALL_TRANSFER",
                "DATA_EXTRACTION",
                "IN_CALL_DATA_EXTRACTION",
                "WORKFLOW_TRIGGER",
                "SMS",
                "APPOINTMENT_BOOKING",
                "CUSTOM_ACTION",
                "KNOWLEDGE_BASE"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "required": false,
            "in": "query",
            "description": "Field to sort by. Defaults to newest if omitted.",
            "schema": {
              "enum": [
                "duration",
                "createdAt"
              ],
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "description": "Sort direction. Applies only when sortBy is provided.",
            "schema": {
              "enum": [
                "ascend",
                "descend"
              ],
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "required": false,
            "in": "query",
            "description": "Page size (max 50).",
            "schema": {
              "default": 10,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved call logs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_CallLogsResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Dashboard"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-dashboard.readonly"
            ]
          }
        ]
      }
    },
    "/voice-ai/dashboard/call-logs/{callId}": {
      "get": {
        "operationId": "getCallLog",
        "summary": "Get Call Log",
        "description": "Returns a call log by callId.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "callId",
            "required": true,
            "in": "path",
            "description": "Call ID",
            "schema": {
              "example": "507f1f77bcf86cd799439011",
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "LOC123456789ABCDEF",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved call log",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_CallLogDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Dashboard"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-dashboard.readonly"
            ]
          }
        ]
      }
    },
    "/voice-ai/actions": {
      "post": {
        "operationId": "create-action",
        "summary": "Create Agent Action",
        "description": "Create a new action for a voice AI agent. Actions define specific behaviors and capabilities for the agent during calls.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/voice_ai_CreateSingleActionDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Action created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_CreateActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Actions"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agent-goals.write"
            ]
          }
        ]
      }
    },
    "/voice-ai/actions/{actionId}": {
      "put": {
        "operationId": "update-action",
        "summary": "Update Agent Action",
        "description": "Update an existing action for a voice AI agent. Modifies the behavior and configuration of an agent action.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "actionId",
            "required": true,
            "in": "path",
            "description": "Unique identifier for the action",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/voice_ai_UpdateSingleActionDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Action updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_UpdateActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Actions"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agent-goals.write"
            ]
          }
        ]
      },
      "get": {
        "operationId": "get-action",
        "summary": "Get Agent Action",
        "description": "Retrieve details of a specific action by its ID. Returns the action configuration including actionParameters.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "actionId",
            "required": true,
            "in": "path",
            "description": "Unique identifier for the action",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "LOC123456789ABCDEF",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Action details retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/voice_ai_GetActionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Actions"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agent-goals.readonly"
            ]
          }
        ]
      },
      "delete": {
        "operationId": "delete-action",
        "summary": "Delete Agent Action",
        "description": "Delete an existing action from a voice AI agent. This permanently removes the action and its configuration.",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-04-15"
              ]
            }
          },
          {
            "name": "actionId",
            "required": true,
            "in": "path",
            "description": "Unique identifier for the action",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "description": "Location ID",
            "schema": {
              "example": "LOC123456789ABCDEF",
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "required": true,
            "in": "query",
            "description": "Agent ID the action is attached to",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Action deleted successfully"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Actions"
        ],
        "security": [
          {
            "bearer": [
              "voice-ai-agent-goals.write"
            ]
          }
        ]
      }
    },
    "/workflows/": {
      "get": {
        "operationId": "get-workflow",
        "summary": "Get Workflow",
        "description": "Get Workflow",
        "parameters": [
          {
            "name": "Version",
            "in": "header",
            "description": "API Version",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "2021-07-28"
              ]
            }
          },
          {
            "name": "locationId",
            "required": true,
            "in": "query",
            "example": "ve9EPM428h8vShlRW1KT",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/workflows_GetWorkflowSuccessfulResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedDTO"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnprocessableDTO"
                }
              }
            }
          }
        },
        "tags": [
          "Workflows"
        ],
        "security": [
          {
            "bearer": [
              "workflows.readonly"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          }
        }
      },
      "UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized"
          }
        }
      },
      "UnprocessableDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 422
          },
          "message": {
            "example": [
              "Unprocessable Entity"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "error": {
            "type": "string",
            "example": "Unprocessable Entity"
          }
        }
      },
      "ForbiddenDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 403
          },
          "message": {
            "type": "string",
            "example": "You do not have permission to access this resource"
          },
          "error": {
            "type": "string",
            "example": "Forbidden"
          }
        }
      },
      "NotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Conversation id, contact id, workflow id, or campaign id not given"
          }
        }
      },
      "ad_manager_GreetingCard": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Greeting card title",
            "example": "Welcome!"
          },
          "style": {
            "type": "string",
            "description": "Greeting card style",
            "example": "LIST_STYLE"
          },
          "content": {
            "description": "Greeting card content",
            "example": [
              "Learn more about our services"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "title",
          "style",
          "content"
        ]
      },
      "ad_manager_FormQuestionOption": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Option key",
            "example": "option 1"
          },
          "value": {
            "type": "string",
            "description": "Option value",
            "example": "Option 1"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "ad_manager_FormQuestion": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Question label text shown to the user",
            "example": "What is your name?"
          },
          "key": {
            "type": "string",
            "description": "Question key",
            "example": "name"
          },
          "type": {
            "type": "string",
            "description": "Question input type — use a prefilled type for standard fields or CUSTOM / SHORT_ANSWER for freeform questions",
            "example": "SHORT_ANSWER",
            "enum": [
              "CUSTOM",
              "CITY",
              "COMPANY_NAME",
              "COUNTRY",
              "DATE_OF_BIRTH",
              "EMAIL",
              "FIRST_NAME",
              "FULL_NAME",
              "GENDER",
              "JOB_TITLE",
              "LAST_NAME",
              "MARITAL_STATUS",
              "MILITARY_STATUS",
              "PHONE",
              "POST_CODE",
              "RELATIONSHIP_STATUS",
              "STATE",
              "STREET_ADDRESS",
              "WORK_EMAIL",
              "WORK_PHONE_NUMBER",
              "ZIP",
              "SHORT_ANSWER"
            ]
          },
          "options": {
            "description": "Answer options for multiple-choice questions (only applies to CUSTOM type)",
            "example": [
              {
                "value": "Yes"
              },
              {
                "value": "No"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_FormQuestionOption"
            }
          }
        },
        "required": [
          "key",
          "type"
        ]
      },
      "ad_manager_CustomDisclaimerCheckbox": {
        "type": "object",
        "properties": {
          "is_required": {
            "type": "boolean",
            "description": "Checkbox required flag",
            "example": true
          },
          "text": {
            "type": "string",
            "description": "Checkbox text label",
            "example": "I agree to terms"
          },
          "key": {
            "type": "string",
            "description": "Checkbox unique key",
            "example": "terms_checkbox"
          }
        },
        "required": [
          "is_required",
          "text",
          "key"
        ]
      },
      "ad_manager_CustomDisclaimer": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Disclaimer title",
            "example": "Terms & Conditions"
          },
          "body": {
            "type": "string",
            "description": "Disclaimer body text",
            "example": "By submitting..."
          },
          "checkboxes": {
            "description": "Consent checkboxes the user must agree to before submitting the form",
            "example": [
              {
                "is_required": true,
                "text": "I agree to the Terms & Conditions",
                "key": "terms_checkbox"
              },
              {
                "is_required": false,
                "text": "I would like to receive marketing emails",
                "key": "marketing_optin"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_CustomDisclaimerCheckbox"
            }
          }
        },
        "required": [
          "title",
          "body"
        ]
      },
      "ad_manager_ThankYouPage": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Thank you page title",
            "example": "Thank You!"
          },
          "body": {
            "type": "string",
            "description": "Thank you page body",
            "example": "We will contact you soon"
          },
          "buttonText": {
            "type": "string",
            "description": "Button text label",
            "example": "Visit Website"
          },
          "buttonType": {
            "type": "string",
            "description": "Button action type",
            "example": "VIEW_WEBSITE"
          },
          "buttonLink": {
            "type": "string",
            "description": "Button destination link",
            "example": "https://example.com"
          },
          "businessPhone": {
            "type": "string",
            "description": "Business phone number",
            "example": "+1234567890"
          },
          "countryCode": {
            "type": "string",
            "description": "Phone country code",
            "example": "US"
          }
        },
        "required": [
          "title",
          "body",
          "buttonText",
          "buttonType"
        ]
      },
      "ad_manager_CreateLeadFormDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Lead form type",
            "example": "MORE_VOLUME",
            "enum": [
              "MORE_VOLUME",
              "HIGHER_INTENT"
            ]
          },
          "name": {
            "type": "string",
            "description": "Lead form name",
            "example": "Contact Form"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "greetingCard": {
            "description": "Greeting card config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GreetingCard"
              }
            ]
          },
          "questions": {
            "description": "List of questions displayed on the lead form",
            "example": [
              {
                "key": "full_name",
                "type": "FULL_NAME",
                "options": []
              },
              {
                "key": "email_address",
                "type": "EMAIL",
                "options": []
              },
              {
                "key": "are_you_interested",
                "label": "Are you interested?",
                "type": "CUSTOM",
                "options": [
                  {
                    "value": "Yes"
                  },
                  {
                    "value": "No"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_FormQuestion"
            }
          },
          "questionPageHeadline": {
            "type": "string",
            "description": "Question page headline",
            "example": "Tell us about yourself"
          },
          "privacyPolicyLink": {
            "type": "string",
            "description": "Privacy policy URL",
            "example": "https://example.com/privacy"
          },
          "privacyPolicyText": {
            "type": "string",
            "description": "Privacy policy text",
            "example": "We respect your privacy"
          },
          "customDisclaimer": {
            "description": "Custom disclaimer config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_CustomDisclaimer"
              }
            ]
          },
          "thankYouPage": {
            "description": "Thank you page config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_ThankYouPage"
              }
            ]
          }
        },
        "required": [
          "type",
          "name",
          "locationId",
          "questions",
          "privacyPolicyLink",
          "thankYouPage"
        ]
      },
      "ad_manager_LocationIdBodyDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "HChooFuiyPpVYzeJ4HMe"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_manager_WelcomeMessageQuestion": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "Question title text",
            "example": "How can we help?"
          },
          "response": {
            "type": "string",
            "description": "Auto-response message",
            "example": "Thanks for reaching out"
          }
        },
        "required": [
          "question"
        ]
      },
      "ad_manager_CreateConversationFormDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Conversation form name",
            "example": "Welcome Form"
          },
          "text": {
            "type": "string",
            "description": "Welcome message text",
            "example": "Hi! How can we help?"
          },
          "questions": {
            "description": "Quick-reply questions shown in the welcome message of the conversation form",
            "example": [
              {
                "question": "How can we help?",
                "response": "Thanks for reaching out! A team member will assist you shortly."
              },
              {
                "question": "I want to learn more",
                "response": "Great! Here is a link to our services."
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_WelcomeMessageQuestion"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "text",
          "questions"
        ]
      },
      "ad_manager_CreateIntegrationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "pageId": {
            "type": "string",
            "description": "Facebook page ID",
            "example": "123456789"
          },
          "adAccountId": {
            "type": "string",
            "description": "Ad account identifier",
            "example": "act_123456"
          }
        },
        "required": [
          "locationId",
          "pageId"
        ]
      },
      "ad_manager_PublishAdDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_manager_UpsertConversionPixelDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "conversionPixelId": {
            "type": "string",
            "description": "Conversion pixel ID",
            "example": "px_123"
          },
          "name": {
            "type": "string",
            "description": "Pixel name",
            "example": "My Pixel"
          },
          "igUserId": {
            "type": "string",
            "description": "Instagram user ID",
            "example": "ig_user_123"
          },
          "type": {
            "type": "string",
            "description": "Pixel event type",
            "example": "LEAD_EVENT"
          }
        },
        "required": [
          "locationId",
          "type"
        ]
      },
      "ad_manager_FbUpdateAudienceBodyDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "HChooFuiyPpVYzeJ4HMe"
          },
          "name": {
            "type": "string",
            "description": "Audience name",
            "example": "My Custom Audience"
          },
          "description": {
            "type": "string",
            "description": "Audience description",
            "example": "Lookalike audience from website visitors"
          }
        },
        "required": [
          "locationId",
          "name",
          "description"
        ]
      },
      "ad_manager_UpdateCustomAudienceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "contactId": {
            "type": "string",
            "description": "Contact identifier",
            "example": "contact_123"
          },
          "fbAdAccountId": {
            "type": "string",
            "description": "Facebook ad account ID",
            "example": "act_123456"
          }
        },
        "required": [
          "locationId",
          "contactId"
        ]
      },
      "ad_manager_UpdateCustomAudienceBatchDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "csvPath": {
            "type": "string",
            "description": "CSV file path",
            "example": "/uploads/audience.csv"
          },
          "operationType": {
            "type": "string",
            "description": "Batch operation type",
            "example": "ADD"
          },
          "smartlistIds": {
            "description": "Smartlist IDs array",
            "example": [
              "list_1",
              "list_2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dynamicAudience": {
            "type": "string",
            "description": "Dynamic audience flag",
            "example": "true"
          }
        },
        "required": [
          "locationId",
          "operationType"
        ]
      },
      "ad_manager_FbSetDefaultPageBodyDTO": {
        "type": "object",
        "properties": {
          "pageId": {
            "type": "string",
            "description": "Facebook page identifier",
            "example": "103456789012345"
          }
        },
        "required": [
          "pageId"
        ]
      },
      "ad_manager_UpsertCampaignDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign identifier",
            "example": "camp_123"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Campaign"
          },
          "objective": {
            "type": "string",
            "description": "Campaign objective",
            "example": "LEAD_GENERATION",
            "enum": [
              "OUTCOME_LEADS",
              "OUTCOME_TRAFFIC",
              "OUTCOME_ENGAGEMENT",
              "OUTCOME_SALES"
            ]
          },
          "specialAdCategories": {
            "type": "string",
            "description": "Special ad categories",
            "enum": [
              "EMPLOYMENT",
              "CREDIT",
              "FINANCIAL_PRODUCTS_SERVICES",
              "HOUSING",
              "ISSUES_ELECTIONS_POLITICS",
              "ONLINE_GAMBLING_AND_GAMING",
              "NONE"
            ]
          },
          "source": {
            "type": "string",
            "description": "Campaign data source",
            "example": "facebook"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_manager_AudienceLocationGeometry": {
        "type": "object",
        "properties": {
          "location": {
            "type": "object",
            "description": "Geographic coordinates",
            "example": {
              "lat": 40.7128,
              "lng": -74.006
            }
          },
          "location_type": {
            "type": "string",
            "description": "Geocoding result type",
            "example": "APPROXIMATE"
          }
        },
        "required": [
          "location",
          "location_type"
        ]
      },
      "ad_manager_AudienceLocationDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Facebook location key",
            "example": "US"
          },
          "name": {
            "type": "string",
            "description": "Location display name",
            "example": "United States"
          },
          "type": {
            "type": "string",
            "description": "Geographic location type",
            "example": "country",
            "enum": [
              "country",
              "city",
              "region",
              "country_group",
              "geo_market",
              "large_geo_area",
              "medium_geo_area",
              "small_geo_area",
              "subcity",
              "neighborhood",
              "zip",
              "address"
            ]
          },
          "selectionType": {
            "type": "string",
            "description": "Whether the location is included or excluded from targeting",
            "example": "include",
            "enum": [
              "include",
              "exclude"
            ]
          },
          "radius": {
            "type": "number",
            "description": "Targeting radius around the location (for city/address types)",
            "example": 25
          },
          "radiusUnit": {
            "type": "string",
            "description": "Unit for the targeting radius",
            "example": "mi",
            "enum": [
              "km",
              "mi"
            ]
          },
          "geometry": {
            "description": "Geometry data for address-based targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_AudienceLocationGeometry"
              }
            ]
          }
        },
        "required": [
          "key",
          "name",
          "type",
          "selectionType"
        ]
      },
      "ad_manager_AudienceLocaleDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Locale display name",
            "example": "English (US)"
          },
          "key": {
            "type": "number",
            "description": "Facebook locale key",
            "example": 6
          }
        },
        "required": [
          "name",
          "key"
        ]
      },
      "ad_manager_AudiencePlacementsDTO": {
        "type": "object",
        "properties": {
          "facebook": {
            "description": "Facebook placement positions",
            "example": [
              "feed",
              "right_hand_column",
              "marketplace"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "instagram": {
            "description": "Instagram placement positions",
            "example": [
              "stream",
              "story",
              "explore"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "messenger": {
            "description": "Messenger placement positions",
            "example": [
              "messenger_home"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_manager_AudienceCustomAudienceItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Custom audience ID",
            "example": "23851234567890"
          },
          "name": {
            "type": "string",
            "description": "Custom audience name",
            "example": "Website Visitors - Last 30 Days"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "ad_manager_AudienceInterestDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Interest ID",
            "example": "6003139266461"
          },
          "name": {
            "type": "string",
            "description": "Interest name",
            "example": "Fitness and wellness"
          },
          "type": {
            "type": "string",
            "description": "Interest category type (defaults to \"interests\" if omitted)",
            "example": "interests"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "ad_manager_FacebookAudienceDTO": {
        "type": "object",
        "properties": {
          "geo_locations": {
            "description": "Geographic locations to target or exclude",
            "example": [
              {
                "key": "US",
                "name": "United States",
                "type": "country",
                "selectionType": "include"
              },
              {
                "key": "2421836",
                "name": "New York",
                "type": "city",
                "selectionType": "include",
                "radius": 25,
                "radiusUnit": "mile"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AudienceLocationDTO"
            }
          },
          "locales": {
            "description": "Language locales to target",
            "example": [
              {
                "name": "English (US)",
                "key": 6
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AudienceLocaleDTO"
            }
          },
          "placements": {
            "description": "Ad placement positions per platform (only used when placementType is \"manual\")",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_AudiencePlacementsDTO"
              }
            ]
          },
          "placementType": {
            "type": "string",
            "description": "Placement strategy — \"auto\" lets Facebook choose, \"manual\" uses the placements config",
            "example": "auto",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "lookalike": {
            "description": "Lookalike audiences to target",
            "example": [
              {
                "id": "23851234567890",
                "name": "Lookalike - Website Visitors"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AudienceCustomAudienceItemDTO"
            }
          },
          "retargeting": {
            "description": "Retargeting custom audiences to target",
            "example": [
              {
                "id": "23851234567891",
                "name": "Website Visitors - Last 30 Days"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AudienceCustomAudienceItemDTO"
            }
          },
          "interests": {
            "description": "Interest-based targeting criteria",
            "example": [
              {
                "id": "6003139266461",
                "name": "Fitness and wellness",
                "type": "interests"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AudienceInterestDTO"
            }
          },
          "age_min": {
            "type": "number",
            "description": "Minimum age for targeting",
            "example": 18
          },
          "age_max": {
            "type": "number",
            "description": "Maximum age for targeting",
            "example": 65
          },
          "genders": {
            "description": "Gender targeting (1 = male, 2 = female)",
            "example": [
              1,
              2
            ],
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "geo_locations"
        ]
      },
      "ad_manager_Budget": {
        "type": "object",
        "properties": {
          "budgetType": {
            "type": "string",
            "description": "Budget type",
            "example": "DAILY",
            "enum": [
              "DAILY",
              "LIFETIME"
            ]
          },
          "amount": {
            "type": "number",
            "description": "Budget amount",
            "example": 1000
          },
          "scheduleStartDate": {
            "type": "string",
            "description": "Schedule start date",
            "example": "2024-01-01"
          },
          "scheduleEndDate": {
            "type": "string",
            "description": "Schedule end date",
            "example": "2024-01-31"
          }
        },
        "required": [
          "budgetType",
          "amount"
        ]
      },
      "ad_manager_UpsertAdsetDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad set identifier",
            "example": "adset_123"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Ad set name",
            "example": "Targeting Group A"
          },
          "pageId": {
            "type": "string",
            "description": "Facebook page ID",
            "example": "123456789"
          },
          "instagramActorId": {
            "type": "string",
            "description": "Instagram actor ID",
            "example": "ig_123"
          },
          "messagingPlatforms": {
            "type": "string",
            "description": "Messaging platforms",
            "enum": [
              "WHATSAPP",
              "MESSENGER",
              "INSTAGRAM_DIRECT"
            ]
          },
          "whatsappNumber": {
            "type": "string",
            "description": "WhatsApp phone number",
            "example": "+1234567890"
          },
          "audience": {
            "description": "Targeting audience configuration including geo-locations, locales, placements, and custom audiences",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_FacebookAudienceDTO"
              }
            ]
          },
          "budget": {
            "description": "Ad set budget config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_Budget"
              }
            ]
          },
          "conversionLocation": {
            "type": "string",
            "description": "Conversion location",
            "example": "website"
          },
          "customEventType": {
            "type": "string",
            "description": "Custom event type",
            "example": "Purchase"
          },
          "pixelId": {
            "type": "string",
            "description": "Conversion pixel ID",
            "example": "px_123"
          },
          "campaignId": {
            "type": "string",
            "description": "Parent campaign ID",
            "example": "camp_123"
          }
        },
        "required": [
          "locationId",
          "campaignId"
        ]
      },
      "ad_manager_MediaDTO": {
        "type": "object",
        "properties": {
          "src": {
            "type": "string",
            "description": "Media source URL",
            "example": "https://example.com/image.jpg"
          },
          "thumbnailUrl": {
            "type": "string",
            "description": "Thumbnail URL (required when type is video)",
            "example": "https://example.com/thumb.jpg"
          },
          "selectedPoster": {
            "type": "number",
            "description": "Selected poster index (required when type is video)",
            "example": 0
          },
          "type": {
            "type": "string",
            "description": "Media content type",
            "example": "IMAGE",
            "enum": [
              "image",
              "video"
            ]
          },
          "name": {
            "type": "string",
            "description": "Media file name",
            "example": "ad_image.jpg"
          },
          "headline": {
            "type": "string",
            "description": "Media headline",
            "example": "Great Offer"
          },
          "description": {
            "type": "string",
            "description": "Media description",
            "example": "Click to learn more"
          },
          "link": {
            "type": "string",
            "description": "Media destination link",
            "example": "https://example.com"
          }
        },
        "required": [
          "src",
          "type"
        ]
      },
      "ad_manager_UpsertAdDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad identifier",
            "example": "ad_123"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Ad name",
            "example": "My Ad Creative"
          },
          "primaryText": {
            "type": "string",
            "description": "Ad primary text",
            "example": "Check out our offer!"
          },
          "headline": {
            "type": "string",
            "description": "Ad headline text",
            "example": "Great Deal"
          },
          "description": {
            "type": "string",
            "description": "Ad description text",
            "example": "Limited time offer"
          },
          "imageUrl": {
            "type": "string",
            "description": "Ad image URL",
            "example": "https://example.com/img.jpg"
          },
          "mediaType": {
            "type": "string",
            "description": "Ad media type",
            "enum": [
              "SINGLE",
              "CAROUSEL"
            ]
          },
          "media": {
            "description": "Media items (images or videos) attached to the ad creative",
            "example": [
              {
                "src": "https://example.com/image.jpg",
                "thumbnailUrl": "https://example.com/thumb.jpg",
                "selectedPoster": 0,
                "type": "IMAGE",
                "name": "ad_image.jpg"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_MediaDTO"
            }
          },
          "multiAdvertiserAds": {
            "type": "boolean",
            "description": "Enable multi-advertiser ads",
            "example": false
          },
          "campaignId": {
            "type": "string",
            "description": "Parent campaign ID",
            "example": "camp_123"
          },
          "adsetId": {
            "type": "string",
            "description": "Parent ad set ID",
            "example": "adset_123"
          },
          "cta": {
            "type": "string",
            "description": "Call to action type",
            "example": "LEARN_MORE"
          },
          "conversationFormId": {
            "type": "string",
            "description": "Conversation form ID",
            "example": "conv_123"
          },
          "destinationLink": {
            "type": "string",
            "description": "Destination link URL",
            "example": "https://example.com"
          },
          "destinationFormId": {
            "type": "string",
            "description": "Destination form ID",
            "example": "form_123"
          }
        },
        "required": [
          "locationId",
          "campaignId",
          "adsetId"
        ]
      },
      "ad_manager_AdScheduleTargetDTO": {
        "type": "object",
        "properties": {
          "startMinute": {
            "type": "string",
            "description": "Minute mark the schedule starts at",
            "example": "ZERO",
            "enum": [
              "ZERO",
              "FIFTEEN",
              "THIRTY",
              "FORTY_FIVE"
            ]
          },
          "endMinute": {
            "type": "string",
            "description": "Minute mark the schedule ends at",
            "example": "ZERO",
            "enum": [
              "ZERO",
              "FIFTEEN",
              "THIRTY",
              "FORTY_FIVE"
            ]
          },
          "dayOfWeek": {
            "type": "string",
            "description": "Day of the week for this schedule",
            "example": "MONDAY",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ]
          },
          "startHour": {
            "type": "number",
            "description": "Start hour in 24h format (0-23)",
            "example": 9
          },
          "endHour": {
            "type": "number",
            "description": "End hour in 24h format (0-23)",
            "example": 17
          }
        },
        "required": [
          "startMinute",
          "endMinute",
          "dayOfWeek",
          "startHour",
          "endHour"
        ]
      },
      "ad_manager_CallAssetPayloadDTO": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "Phone number for call ads",
            "example": "+14155551234"
          },
          "countryCode": {
            "type": "string",
            "description": "Two-letter ISO country code",
            "example": "US"
          },
          "callConversionAction": {
            "type": "string",
            "description": "Call conversion action resource name",
            "example": "customers/123/conversionActions/456"
          },
          "adScheduleTargets": {
            "description": "Ad schedule targets restricting when the call asset is shown",
            "example": [
              {
                "startMinute": "ZERO",
                "endMinute": "ZERO",
                "dayOfWeek": "MONDAY",
                "startHour": 9,
                "endHour": 17
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AdScheduleTargetDTO"
            }
          },
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name for an existing call asset",
            "example": "customers/123/assets/456"
          }
        },
        "required": [
          "phoneNumber",
          "countryCode"
        ]
      },
      "ad_manager_SitelinkAssetPayloadDTO": {
        "type": "object",
        "properties": {
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name for an existing sitelink asset",
            "example": "customers/123/assets/456"
          },
          "linkText": {
            "type": "string",
            "description": "Sitelink display text",
            "example": "Pricing"
          },
          "finalUrls": {
            "type": "string",
            "description": "Final landing page URL",
            "example": "https://example.com/pricing"
          },
          "description1": {
            "type": "string",
            "description": "First description line",
            "example": "See our plans and pricing"
          },
          "description2": {
            "type": "string",
            "description": "Second description line",
            "example": "Starting at $9/month"
          },
          "startDate": {
            "type": "string",
            "description": "Start date for the sitelink (YYYY-MM-DD)",
            "example": "2024-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "End date for the sitelink (YYYY-MM-DD)",
            "example": "2024-12-31"
          },
          "adScheduleTargets": {
            "description": "Ad schedule targets restricting when the sitelink is shown",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AdScheduleTargetDTO"
            }
          }
        },
        "required": [
          "linkText",
          "finalUrls"
        ]
      },
      "ad_manager_LeadFormFieldDTO": {
        "type": "object",
        "properties": {
          "inputType": {
            "type": "string",
            "description": "Field input type from Google Ads LeadFormFieldUserInputType",
            "example": "FULL_NAME"
          },
          "singleChoiceAnswers": {
            "description": "Single-choice answer options for the field",
            "example": [
              {
                "key": "option_1",
                "value": "Yes"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "inputType"
        ]
      },
      "ad_manager_CustomQuestionFieldDTO": {
        "type": "object",
        "properties": {
          "customQuestionText": {
            "type": "string",
            "description": "Custom question text shown to the user",
            "example": "What service are you interested in?"
          },
          "singleChoiceAnswers": {
            "description": "Answer choices for the custom question",
            "example": [
              {
                "answerTexts": [
                  "Web Design",
                  "SEO",
                  "PPC"
                ]
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "customQuestionText",
          "singleChoiceAnswers"
        ]
      },
      "ad_manager_LeadFormAssetPayloadDTO": {
        "type": "object",
        "properties": {
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name for an existing lead form asset",
            "example": "customers/123/assets/456"
          },
          "headline": {
            "type": "string",
            "description": "Lead form headline",
            "example": "Get a free quote"
          },
          "description": {
            "type": "string",
            "description": "Lead form description",
            "example": "Fill out this form and we will contact you within 24 hours"
          },
          "businessName": {
            "type": "string",
            "description": "Business name shown on the form",
            "example": "Acme Corp"
          },
          "privacyPolicyUrl": {
            "type": "string",
            "description": "Privacy policy URL",
            "example": "https://example.com/privacy"
          },
          "fields": {
            "description": "Form fields to collect user input",
            "example": [
              {
                "inputType": "FULL_NAME",
                "singleChoiceAnswers": []
              },
              {
                "inputType": "EMAIL",
                "singleChoiceAnswers": []
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_LeadFormFieldDTO"
            }
          },
          "callToActionType": {
            "type": "string",
            "description": "Call to action button type",
            "example": "GET_QUOTE",
            "enum": [
              "LEARN_MORE",
              "GET_QUOTE",
              "APPLY_NOW",
              "SIGN_UP",
              "CONTACT_US",
              "SUBSCRIBE",
              "DOWNLOAD",
              "BOOK_NOW",
              "GET_OFFER",
              "REGISTER",
              "GET_INFO",
              "REQUEST_DEMO",
              "JOIN_NOW",
              "GET_STARTED",
              "VISIT_SITE"
            ]
          },
          "callToActionDescription": {
            "type": "string",
            "description": "Description text for the CTA button",
            "example": "Request your free quote now"
          },
          "backgroundImageAsset": {
            "type": "string",
            "description": "Background image asset resource name",
            "example": "customers/123/assets/789"
          },
          "desiredIntent": {
            "type": "string",
            "description": "Desired lead intent level",
            "example": "HIGH_INTENT",
            "enum": [
              "LOW_INTENT",
              "HIGH_INTENT"
            ]
          },
          "customQuestionFields": {
            "description": "Custom question fields appended after standard fields",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_CustomQuestionFieldDTO"
            }
          },
          "postSubmitHeadline": {
            "type": "string",
            "description": "Headline shown after form submission",
            "example": "Thank you!"
          },
          "postSubmitDescription": {
            "type": "string",
            "description": "Description shown after form submission",
            "example": "We will be in touch shortly"
          },
          "postSubmitCallToActionType": {
            "type": "string",
            "description": "Post-submit CTA button type",
            "example": "VISIT_SITE",
            "enum": [
              "VISIT_SITE",
              "DOWNLOAD",
              "LEARN_MORE",
              "SHOP_NOW"
            ]
          },
          "finalUrls": {
            "type": "string",
            "description": "Final URL shown after form submission",
            "example": "https://example.com/thank-you"
          }
        },
        "required": [
          "headline",
          "description",
          "businessName",
          "privacyPolicyUrl",
          "fields",
          "callToActionType"
        ]
      },
      "ad_manager_ConversionValueSettings": {
        "type": "object",
        "properties": {
          "defaultValue": {
            "type": "number",
            "description": "Default monetary value assigned to each conversion",
            "example": 10
          },
          "defaultCurrencyCode": {
            "type": "string",
            "description": "ISO 4217 currency code for the default value",
            "example": "USD"
          },
          "alwaysUseDefaultValue": {
            "type": "boolean",
            "description": "When true, always uses the default value even if a transaction-specific value is provided",
            "example": false
          }
        },
        "required": [
          "defaultValue",
          "defaultCurrencyCode",
          "alwaysUseDefaultValue"
        ]
      },
      "ad_manager_UpsertConversionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "conversionId": {
            "type": "string",
            "description": "Conversion identifier",
            "example": "conv_456"
          },
          "name": {
            "type": "string",
            "description": "Conversion name",
            "example": "Purchase Conversion"
          },
          "type": {
            "type": "string",
            "description": "Conversion type",
            "example": "WEBPAGE",
            "enum": [
              "UPLOAD_CLICKS",
              "UPLOAD_CALLS",
              "WEBPAGE",
              "LEAD_FORM_SUBMIT"
            ]
          },
          "category": {
            "type": "string",
            "description": "Conversion category",
            "example": "PURCHASE"
          },
          "valueSettings": {
            "description": "Value settings that control how monetary value is attributed to conversions",
            "example": {
              "defaultValue": "10.00",
              "defaultCurrencyCode": "USD",
              "alwaysUseDefaultValue": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_ConversionValueSettings"
              }
            ]
          },
          "countingType": {
            "type": "string",
            "description": "How conversions are counted per interaction",
            "example": "ONE_PER_CLICK",
            "enum": [
              "ONE_PER_CLICK",
              "MANY_PER_CLICK"
            ]
          },
          "attributionModel": {
            "type": "string",
            "description": "Attribution model used to credit conversions",
            "example": "GOOGLE_ADS_LAST_CLICK",
            "enum": [
              "GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN",
              "GOOGLE_ADS_LAST_CLICK"
            ]
          },
          "clickThroughWindow": {
            "type": "number",
            "description": "Click-through conversion window in days",
            "example": 30
          }
        },
        "required": [
          "locationId",
          "name",
          "type",
          "category",
          "valueSettings",
          "countingType",
          "attributionModel",
          "clickThroughWindow"
        ]
      },
      "ad_manager_CreateGoogleIntegrationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "adAccountId": {
            "type": "string",
            "description": "Ad account identifier",
            "example": "123-456-7890"
          },
          "mccId": {
            "type": "string",
            "description": "MCC identifier",
            "example": "987-654-3210"
          }
        },
        "required": [
          "locationId",
          "adAccountId",
          "mccId"
        ]
      },
      "ad_manager_KeywordSuggestionDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Target URL",
            "example": "https://example.com"
          },
          "languageCode": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          },
          "locations": {
            "description": "Target locations",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "description": "Seed keywords",
            "example": [
              "marketing"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "url"
        ]
      },
      "ad_manager_UpsertAssetsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "type": {
            "type": "string",
            "description": "Asset type to create or update",
            "example": "CALL",
            "enum": [
              "CALL",
              "SITELINK",
              "LEAD_FORM"
            ]
          },
          "payload": {
            "description": "Asset payload — shape depends on the type field: CallAssetPayload (CALL), SitelinkAssetPayload (SITELINK), or LeadFormAssetPayload (LEAD_FORM)",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ad_manager_CallAssetPayloadDTO"
              },
              {
                "$ref": "#/components/schemas/ad_manager_SitelinkAssetPayloadDTO"
              },
              {
                "$ref": "#/components/schemas/ad_manager_LeadFormAssetPayloadDTO"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "type",
          "payload"
        ]
      },
      "ad_manager_MemberDTO": {
        "type": "object",
        "properties": {
          "memberType": {
            "type": "string",
            "description": "Member type",
            "example": "KEYWORD",
            "enum": [
              "KEYWORD",
              "URL",
              "APP"
            ]
          },
          "keyword": {
            "type": "string",
            "description": "Keyword value",
            "example": "marketing"
          },
          "url": {
            "type": "string",
            "description": "URL value",
            "example": "https://example.com"
          },
          "app": {
            "type": "string",
            "description": "App identifier",
            "example": "com.example.app"
          }
        },
        "required": [
          "memberType"
        ]
      },
      "ad_manager_StringRuleItemDTO": {
        "type": "object",
        "properties": {
          "operator": {
            "type": "string",
            "description": "Rule operator",
            "example": "CONTAINS"
          },
          "value": {
            "type": "string",
            "description": "Rule value",
            "example": "/products"
          }
        },
        "required": [
          "operator",
          "value"
        ]
      },
      "ad_manager_RuleItemDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Rule item name",
            "enum": [
              "url__",
              "referrer__"
            ],
            "example": "url__"
          },
          "stringRuleItem": {
            "description": "String rule item condition",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_StringRuleItemDTO"
              }
            ]
          }
        },
        "required": [
          "name",
          "stringRuleItem"
        ]
      },
      "ad_manager_RuleItemGroupDTO": {
        "type": "object",
        "properties": {
          "ruleItems": {
            "description": "List of rule items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_RuleItemDTO"
            }
          }
        },
        "required": [
          "ruleItems"
        ]
      },
      "ad_manager_RuleDTO": {
        "type": "object",
        "properties": {
          "ruleItemGroups": {
            "description": "List of rule item groups",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_RuleItemGroupDTO"
            }
          }
        },
        "required": [
          "ruleItemGroups"
        ]
      },
      "ad_manager_RuleOperandDTO": {
        "type": "object",
        "properties": {
          "lookbackWindowDays": {
            "type": "number",
            "description": "Lookback window in days",
            "example": 30
          },
          "rule": {
            "description": "Rule definition",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_RuleDTO"
              }
            ]
          }
        },
        "required": [
          "lookbackWindowDays",
          "rule"
        ]
      },
      "ad_manager_FlexibleRuleUserListDTO": {
        "type": "object",
        "properties": {
          "inclusiveRuleOperator": {
            "type": "string",
            "description": "Operator for combining inclusive operands",
            "example": "AND"
          },
          "inclusiveOperands": {
            "description": "Inclusive rule operands",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_RuleOperandDTO"
            }
          },
          "exclusiveOperands": {
            "description": "Exclusive rule operands",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_RuleOperandDTO"
            }
          }
        },
        "required": [
          "inclusiveOperands",
          "exclusiveOperands"
        ]
      },
      "ad_manager_RuleBasedUserListDTO": {
        "type": "object",
        "properties": {
          "prepopulationStatus": {
            "type": "string",
            "description": "Prepopulation status",
            "enum": [
              "REQUESTED"
            ],
            "example": "REQUESTED"
          },
          "flexibleRuleUserList": {
            "description": "Flexible rule user list configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_FlexibleRuleUserListDTO"
              }
            ]
          }
        },
        "required": [
          "flexibleRuleUserList"
        ]
      },
      "ad_manager_UpsertSegmentDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Segment name",
            "example": "My Segment"
          },
          "description": {
            "type": "string",
            "description": "Segment description",
            "example": "Target audience segment"
          },
          "members": {
            "description": "Segment members — keywords, URLs, or apps that define the custom segment",
            "example": [
              {
                "memberType": "KEYWORD",
                "keyword": "digital marketing"
              },
              {
                "memberType": "URL",
                "url": "https://example.com"
              },
              {
                "memberType": "APP",
                "app": "com.example.app"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_MemberDTO"
            }
          },
          "status": {
            "type": "string",
            "description": "Segment status",
            "example": "ENABLED"
          },
          "type": {
            "type": "string",
            "description": "Segment type",
            "example": "CUSTOM_SEGMENTS"
          },
          "id": {
            "type": "string",
            "description": "Segment identifier",
            "example": "seg_123"
          },
          "membershipStatus": {
            "type": "string",
            "description": "Membership status",
            "example": "OPEN"
          },
          "ruleBasedUserList": {
            "description": "Rule-based user list config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_RuleBasedUserListDTO"
              }
            ]
          },
          "membershipLifeSpan": {
            "type": "number",
            "description": "Membership life span",
            "example": 30
          },
          "seedUserListIds": {
            "description": "Seed user list IDs",
            "example": [
              "list_1"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "countryCodes": {
            "description": "Country codes",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expansionLevel": {
            "type": "string",
            "description": "Expansion level",
            "example": "BALANCED",
            "enum": [
              "BALANCED",
              "BROAD",
              "NARROW"
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "ad_manager_CreateOfflineUserListJobDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "smartListIds": {
            "description": "Smart list IDs",
            "example": [
              "sl_123"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "csvPath": {
            "type": "string",
            "description": "CSV file path",
            "example": "/uploads/users.csv"
          },
          "userListId": {
            "type": "string",
            "description": "User list identifier",
            "example": "ul_123"
          },
          "isDynamic": {
            "type": "boolean",
            "description": "Dynamic list flag",
            "example": false
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_manager_AudienceSegmentsDTO": {
        "type": "object",
        "properties": {
          "customAudiences": {
            "description": "Resource names of custom audience segments",
            "example": [
              "customers/123/customAudiences/456"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userLists": {
            "description": "Resource names of user lists (remarketing lists, customer match lists, etc.)",
            "example": [
              "customers/123/userLists/789"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userInterests": {
            "description": "Resource names of user interest segments (in-market or affinity audiences)",
            "example": [
              "customers/123/userInterests/321"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_manager_AudienceDimensionDTO": {
        "type": "object",
        "properties": {
          "isAgeUnknown": {
            "type": "boolean",
            "description": "Include unknown age",
            "example": false
          },
          "ageRanges": {
            "description": "Age range filters",
            "example": [
              {
                "minAge": 25,
                "maxAge": 34
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "genders": {
            "description": "Gender targets",
            "example": [
              "MALE",
              "FEMALE"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "parentalStatuses": {
            "description": "Parental status targets",
            "example": [
              "PARENT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "audienceSegments": {
            "description": "Audience segment references used for targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_AudienceSegmentsDTO"
              }
            ]
          }
        }
      },
      "ad_manager_UpsertAudienceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "resourceName": {
            "type": "string",
            "description": "Audience resource name",
            "example": "customers/123/audiences/456"
          },
          "name": {
            "type": "string",
            "description": "Audience name",
            "example": "My Audience"
          },
          "dimensions": {
            "description": "Audience dimensions",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_AudienceDimensionDTO"
              }
            ]
          },
          "exclusionDimension": {
            "description": "Exclusion dimensions",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_AudienceDimensionDTO"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "ad_manager_GoogleBudgetDTO": {
        "type": "object",
        "properties": {
          "budgetType": {
            "type": "string",
            "description": "Budget type",
            "enum": [
              "DAILY",
              "LIFETIME"
            ]
          },
          "amount": {
            "type": "number",
            "description": "Budget amount in micros",
            "example": 5000
          },
          "scheduleStartDate": {
            "type": "string",
            "description": "Schedule start date",
            "example": "2024-01-01"
          },
          "scheduleEndDate": {
            "type": "string",
            "description": "Schedule end date",
            "example": "2024-12-31"
          }
        }
      },
      "ad_manager_GeoLatLngDTO": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "description": "Latitude"
          },
          "lng": {
            "type": "number",
            "description": "Longitude"
          }
        }
      },
      "ad_manager_GeoViewportDTO": {
        "type": "object",
        "properties": {
          "northeast": {
            "description": "Northeast corner of the viewport",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GeoLatLngDTO"
              }
            ]
          },
          "southwest": {
            "description": "Southwest corner of the viewport",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GeoLatLngDTO"
              }
            ]
          }
        }
      },
      "ad_manager_GeoGeometryDTO": {
        "type": "object",
        "properties": {
          "location": {
            "description": "Location coordinates",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GeoLatLngDTO"
              }
            ]
          },
          "location_type": {
            "type": "string",
            "description": "Location type (e.g. APPROXIMATE)"
          },
          "viewport": {
            "description": "Viewport bounding box",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GeoViewportDTO"
              }
            ]
          }
        }
      },
      "ad_manager_GeoAddressComponentDTO": {
        "type": "object",
        "properties": {
          "long_name": {
            "type": "string",
            "description": "Full name of the address component"
          },
          "short_name": {
            "type": "string",
            "description": "Abbreviated name of the address component"
          },
          "types": {
            "description": "Address component types",
            "example": [
              "locality",
              "political"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_manager_GoogleGeoLocationDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Geo target constant resource name"
          },
          "id": {
            "type": "string",
            "description": "Location identifier (place_id)"
          },
          "name": {
            "type": "string",
            "description": "Location display name"
          },
          "country_name": {
            "type": "string",
            "description": "Country name"
          },
          "type": {
            "type": "string",
            "description": "Location type (city, region, country, address, etc.)"
          },
          "radius": {
            "type": "number",
            "description": "Radius for proximity targeting"
          },
          "radiusUnit": {
            "type": "string",
            "description": "Radius unit",
            "enum": [
              "km",
              "mi"
            ]
          },
          "selectionType": {
            "type": "string",
            "description": "Include or exclude this location",
            "enum": [
              "include",
              "exclude"
            ]
          },
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name"
          },
          "place_id": {
            "type": "string",
            "description": "Google place ID"
          },
          "formatted_address": {
            "type": "string",
            "description": "Full formatted address string"
          },
          "geometry": {
            "description": "Geometry data from Google Geocoding API",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GeoGeometryDTO"
              }
            ]
          },
          "address_components": {
            "description": "Address components from Google Geocoding API",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GeoAddressComponentDTO"
            }
          }
        }
      },
      "ad_manager_GoogleLocaleDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Language display name"
          },
          "key": {
            "type": "string",
            "description": "Language key"
          },
          "id": {
            "type": "string",
            "description": "Language identifier"
          },
          "resourceName": {
            "type": "string",
            "description": "Language resource name"
          }
        }
      },
      "ad_manager_GoogleDemographicTargetDTO": {
        "type": "object",
        "properties": {
          "enum": {
            "type": "string",
            "description": "Demographic enum value"
          },
          "negative": {
            "type": "boolean",
            "description": "Whether this is a negative target"
          }
        },
        "required": [
          "enum",
          "negative"
        ]
      },
      "ad_manager_GoogleSegmentTargetDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Segment type"
          },
          "id": {
            "type": "string",
            "description": "Segment identifier"
          }
        },
        "required": [
          "type",
          "id"
        ]
      },
      "ad_manager_GoogleTargetInterestsDTO": {
        "type": "object",
        "properties": {
          "affinity": {
            "description": "Affinity audience IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inMarket": {
            "description": "In-market audience IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_manager_GoogleCampaignAudienceDTO": {
        "type": "object",
        "properties": {
          "geo_locations": {
            "description": "Geo-location targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleGeoLocationDTO"
            }
          },
          "locales": {
            "description": "Language/locale targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleLocaleDTO"
            }
          },
          "gender": {
            "description": "Gender targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleDemographicTargetDTO"
            }
          },
          "ageRange": {
            "description": "Age range targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleDemographicTargetDTO"
            }
          },
          "segments": {
            "description": "Audience segment targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleSegmentTargetDTO"
            }
          },
          "targetInterests": {
            "description": "Interest-based targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleTargetInterestsDTO"
              }
            ]
          }
        }
      },
      "ad_manager_GoogleNetworkSettingsDTO": {
        "type": "object",
        "properties": {
          "targetSearchNetwork": {
            "type": "boolean",
            "description": "Target Google Search Network"
          },
          "targetContentNetwork": {
            "type": "boolean",
            "description": "Target Google Display Network"
          }
        },
        "required": [
          "targetSearchNetwork",
          "targetContentNetwork"
        ]
      },
      "ad_manager_GoogleBiddingStrategyDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Bidding strategy type"
          },
          "value": {
            "type": "number",
            "description": "Bid value in micros"
          }
        }
      },
      "ad_manager_GoogleAssetImageDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Image URL"
          },
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name"
          },
          "name": {
            "type": "string",
            "description": "Asset name"
          },
          "error": {
            "type": "string",
            "description": "Error message if asset upload failed"
          }
        },
        "required": [
          "url"
        ]
      },
      "ad_manager_GoogleAssetsDTO": {
        "type": "object",
        "properties": {
          "calls": {
            "description": "Call extension asset resource names",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sitelinks": {
            "description": "Sitelink asset resource names",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "leadForm": {
            "type": "string",
            "description": "Lead form asset resource name"
          },
          "images": {
            "description": "Image assets",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleAssetImageDTO"
            }
          },
          "businessLogo": {
            "description": "Business logo asset",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleAssetImageDTO"
              }
            ]
          }
        }
      },
      "ad_manager_GoogleMediaDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Media type",
            "enum": [
              "IMAGE"
            ]
          },
          "src": {
            "type": "string",
            "description": "Media source URL",
            "example": "https://example.com/image.jpg"
          },
          "isLogo": {
            "type": "boolean",
            "description": "Is logo flag",
            "example": false
          },
          "error": {
            "type": "string",
            "description": "Error message if media failed"
          },
          "url": {
            "type": "string",
            "description": "Public URL of the media"
          },
          "imageType": {
            "type": "string",
            "description": "Image type classification"
          }
        }
      },
      "ad_manager_GoogleYouTubeVideoLinkDTO": {
        "type": "object",
        "properties": {
          "youtubeVideoId": {
            "type": "string",
            "description": "YouTube video ID"
          }
        },
        "required": [
          "youtubeVideoId"
        ]
      },
      "ad_manager_GoogleCarouselCardDTO": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string",
            "description": "Card headline",
            "example": "Shop Now"
          },
          "finalUrl": {
            "type": "string",
            "description": "Card final URL",
            "example": "https://example.com"
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label"
          },
          "media": {
            "description": "Card media items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleMediaDTO"
            }
          }
        }
      },
      "ad_manager_GoogleAdContentDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad identifier"
          },
          "name": {
            "type": "string",
            "description": "Ad name"
          },
          "mediaType": {
            "type": "string",
            "description": "Media type",
            "enum": [
              "IMAGE",
              "VIDEO",
              "CAROUSEL"
            ]
          },
          "headlines": {
            "description": "Ad headlines",
            "example": [
              "Buy Now",
              "Best Deals"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "longHeadlines": {
            "description": "Long headlines",
            "example": [
              "Discover Great Deals Today"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "descriptions": {
            "description": "Ad descriptions",
            "example": [
              "Great products"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "finalUrl": {
            "type": "string",
            "description": "Final URL",
            "example": "https://example.com"
          },
          "path1": {
            "type": "string",
            "description": "Display path 1",
            "example": "products"
          },
          "path2": {
            "type": "string",
            "description": "Display path 2",
            "example": "deals"
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Whether the ad is soft-deleted"
          },
          "adError": {
            "type": "string",
            "description": "Ad-level error message from Google"
          },
          "publishingStatus": {
            "type": "string",
            "description": "Ad publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "adId": {
            "type": "string",
            "description": "Internal ad identifier"
          },
          "adCampaignId": {
            "type": "string",
            "description": "Ad campaign identifier"
          },
          "adGroupId": {
            "type": "string",
            "description": "Ad group identifier"
          },
          "googleAdId": {
            "type": "string",
            "description": "Google Ads ad resource ID"
          },
          "media": {
            "description": "Ad media items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleMediaDTO"
            }
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label",
            "enum": [
              "AUTOMATED",
              "LEARN_MORE",
              "GET_QUOTE",
              "APPLY_NOW",
              "SIGN_UP",
              "CONTACT_US",
              "SUBSCRIBE",
              "DOWNLOAD",
              "BOOK_NOW",
              "SHOP_NOW",
              "BUY_NOW",
              "DONATE_NOW",
              "ORDER_NOW",
              "PLAY_NOW",
              "SEE_MORE"
            ]
          },
          "businessName": {
            "type": "string",
            "description": "Business name",
            "example": "Acme Corp"
          },
          "youtubeVideoLinks": {
            "description": "YouTube video links",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleYouTubeVideoLinkDTO"
            }
          },
          "carouselCards": {
            "description": "Carousel cards",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleCarouselCardDTO"
            }
          },
          "placements": {
            "type": "array",
            "description": "Channel placements",
            "items": {
              "type": "string",
              "enum": [
                "GMAIL",
                "YOUTUBE_IN_STREAM",
                "YOUTUBE_SHORTS",
                "YOUTUBE_IN_FEED",
                "DISCOVER",
                "DISPLAY"
              ]
            }
          },
          "customChannels": {
            "type": "boolean",
            "description": "Custom channels flag"
          }
        }
      },
      "ad_manager_GoogleKeywordItemDTO": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword text"
          },
          "matchType": {
            "type": "string",
            "description": "Match type (BROAD, PHRASE, EXACT)"
          }
        },
        "required": [
          "keyword",
          "matchType"
        ]
      },
      "ad_manager_GoogleKeywordsDTO": {
        "type": "object",
        "properties": {
          "positives": {
            "description": "Positive keywords",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleKeywordItemDTO"
            }
          },
          "negatives": {
            "description": "Negative keywords",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleKeywordItemDTO"
            }
          }
        }
      },
      "ad_manager_GoogleAdGroupAudienceDTO": {
        "type": "object",
        "properties": {
          "geo_locations": {
            "description": "Geo-location targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleGeoLocationDTO"
            }
          },
          "locales": {
            "description": "Language/locale targeting",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleLocaleDTO"
            }
          }
        }
      },
      "ad_manager_GoogleAdGroupDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad group identifier"
          },
          "adGroupId": {
            "type": "string",
            "description": "Google ad group identifier"
          },
          "name": {
            "type": "string",
            "description": "Ad group name",
            "example": "Ad Group 1"
          },
          "adCampaignId": {
            "type": "string",
            "description": "Ad campaign identifier"
          },
          "adContent": {
            "description": "Ad content items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleAdContentDTO"
            }
          },
          "keywords": {
            "description": "Keyword targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleKeywordsDTO"
              }
            ]
          },
          "publishingStatus": {
            "type": "string",
            "description": "Ad group publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "adGroupError": {
            "type": "string",
            "description": "Ad group-level error from Google"
          },
          "googleAdGroupId": {
            "type": "string",
            "description": "Google Ads ad group resource ID"
          },
          "customChannels": {
            "type": "boolean",
            "description": "Custom channels flag"
          },
          "selectedChannels": {
            "type": "array",
            "description": "Selected channel placements",
            "items": {
              "type": "string",
              "enum": [
                "GMAIL",
                "YOUTUBE_IN_STREAM",
                "YOUTUBE_SHORTS",
                "YOUTUBE_IN_FEED",
                "DISCOVER",
                "DISPLAY"
              ]
            }
          },
          "googleAudienceId": {
            "type": "string",
            "description": "Google audience resource ID"
          },
          "audience": {
            "description": "Ad group audience targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleAdGroupAudienceDTO"
              }
            ]
          }
        }
      },
      "ad_manager_GoogleCampaignGoalDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Campaign goal type",
            "enum": [
              "CONVERSIONS",
              "CLICK",
              "YOUTUBE_ENGAGEMENT"
            ]
          },
          "value": {
            "type": "string",
            "description": "Goal value (e.g. conversion action resource name)"
          },
          "isCustomConversionGoal": {
            "type": "boolean",
            "description": "Whether this is a custom conversion goal"
          }
        },
        "required": [
          "type"
        ]
      },
      "ad_manager_GoogleAdScheduleDTO": {
        "type": "object",
        "properties": {
          "dayOfWeek": {
            "type": "string",
            "description": "Day of week",
            "enum": [
              "FRIDAY",
              "MONDAY",
              "SATURDAY",
              "SUNDAY",
              "THURSDAY",
              "TUESDAY",
              "UNKNOWN",
              "UNSPECIFIED",
              "WEDNESDAY",
              "ALL_DAYS",
              "MONDAY_TO_FRIDAY",
              "SATURDAY_AND_SUNDAY"
            ]
          },
          "from": {
            "type": "string",
            "description": "Start time (HH:MM)",
            "example": "09:00"
          },
          "to": {
            "type": "string",
            "description": "End time (HH:MM)",
            "example": "17:00"
          }
        },
        "required": [
          "dayOfWeek",
          "from",
          "to"
        ]
      },
      "ad_manager_CampaignDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign identifier"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "My Campaign"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "advertisingChannelType": {
            "type": "string",
            "description": "Advertising channel",
            "enum": [
              "SEARCH",
              "DISCOVERY",
              "DISPLAY",
              "HOTEL",
              "LOCAL",
              "MULTI_CHANNEL",
              "PERFORMANCE_MAX",
              "DEMAND_GEN"
            ]
          },
          "advertisingChannelSubType": {
            "type": "string",
            "description": "Channel sub type",
            "enum": [
              "DEMAND_GEN"
            ]
          },
          "goalType": {
            "type": "string",
            "description": "Goal type",
            "enum": [
              "WEBSITE_TRAFFIC",
              "LEAD"
            ]
          },
          "budget": {
            "description": "Campaign budget",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleBudgetDTO"
              }
            ]
          },
          "audience": {
            "description": "Campaign audience targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleCampaignAudienceDTO"
              }
            ]
          },
          "networkSettings": {
            "description": "Network settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleNetworkSettingsDTO"
              }
            ]
          },
          "biddingStrategy": {
            "description": "Bidding strategy config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleBiddingStrategyDTO"
              }
            ]
          },
          "assets": {
            "description": "Campaign assets",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleAssetsDTO"
              }
            ]
          },
          "isEuPoliticalAds": {
            "type": "boolean",
            "description": "EU political ads flag",
            "example": false
          },
          "adGroups": {
            "description": "Campaign ad groups",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleAdGroupDTO"
            }
          },
          "campaignGoal": {
            "description": "Campaign goal config",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_GoogleCampaignGoalDTO"
              }
            ]
          },
          "adSchedule": {
            "description": "Ad schedule rules",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GoogleAdScheduleDTO"
            }
          },
          "publishingStatus": {
            "type": "string",
            "description": "Publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "googleAdAccountId": {
            "type": "string",
            "description": "Google Ad account identifier"
          },
          "unpublishedChanges": {
            "type": "boolean",
            "description": "Whether the campaign has unpublished changes"
          },
          "maximumCpc": {
            "type": "number",
            "description": "Maximum CPC bid in micros"
          },
          "googleCampaignId": {
            "type": "string",
            "description": "Google Ads campaign resource ID"
          },
          "source": {
            "type": "string",
            "description": "Traffic source",
            "example": "WEBSITE"
          },
          "advancedOptions": {
            "type": "object",
            "description": "Advanced options"
          }
        },
        "required": [
          "name",
          "locationId",
          "advertisingChannelType"
        ]
      },
      "ad_manager_CreateLinkedinIntegrationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_123"
          },
          "adAccountId": {
            "type": "string",
            "description": "Ad account identifier",
            "example": "12345678"
          },
          "adAccountName": {
            "type": "string",
            "description": "Ad account name",
            "example": "My Ad Account"
          },
          "currencyCode": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization identifier",
            "example": "12345678"
          }
        },
        "required": [
          "locationId",
          "adAccountId",
          "adAccountName",
          "currencyCode",
          "organizationId"
        ]
      },
      "ad_manager_LinkedInBudgetDTO": {
        "type": "object",
        "properties": {
          "budgetType": {
            "type": "string",
            "enum": [
              "DAILY",
              "LIFETIME"
            ]
          },
          "amount": {
            "type": "number"
          },
          "scheduleStartDate": {
            "type": "string",
            "description": "Schedule start date (ISO 8601)",
            "example": "2025-01-01"
          },
          "scheduleEndDate": {
            "type": "string",
            "description": "Schedule end date (ISO 8601)",
            "example": "2025-12-31"
          }
        }
      },
      "ad_manager_LocaleDTO": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country code",
            "example": "US"
          },
          "language": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          }
        },
        "required": [
          "country",
          "language"
        ]
      },
      "ad_manager_GeoLocationDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Location display name",
            "example": "India"
          },
          "urn": {
            "type": "string",
            "description": "Location URN",
            "example": "urn:li:geo:12321321"
          },
          "facetUrn": {
            "type": "string",
            "description": "Facet URN",
            "example": "urn:li:adTargetingFacet:locations"
          },
          "selectionType": {
            "type": "string",
            "description": "Selection type",
            "example": "include",
            "enum": [
              "include",
              "exclude"
            ]
          }
        },
        "required": [
          "name",
          "urn",
          "facetUrn",
          "selectionType"
        ]
      },
      "ad_manager_SelectedAttributeDTO": {
        "type": "object",
        "properties": {
          "urn": {
            "type": "string",
            "description": "Targeting attribute URN"
          },
          "name": {
            "type": "string",
            "description": "Display name"
          },
          "categoryName": {
            "type": "string",
            "description": "Category name"
          },
          "facet": {
            "type": "string",
            "description": "Facet identifier"
          }
        },
        "required": [
          "urn",
          "name",
          "categoryName",
          "facet"
        ]
      },
      "ad_manager_TargetAudienceDTO": {
        "type": "object",
        "properties": {
          "include": {
            "type": "array",
            "description": "Included targeting attributes (groups of ANDed attributes, ORed together)",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ad_manager_SelectedAttributeDTO"
              }
            }
          },
          "exclude": {
            "type": "array",
            "description": "Excluded targeting attributes",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ad_manager_SelectedAttributeDTO"
              }
            }
          }
        }
      },
      "ad_manager_AudienceDTO": {
        "type": "object",
        "properties": {
          "geo_locations": {
            "description": "Geographic location targets",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_GeoLocationDTO"
            }
          },
          "targetAudience": {
            "description": "Target audience attribute selections",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_TargetAudienceDTO"
              }
            ]
          }
        }
      },
      "ad_manager_UnitCostDTO": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Bid amount in currency minor units",
            "example": 500
          }
        },
        "required": [
          "amount"
        ]
      },
      "ad_manager_LinkedInMediaDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Media type",
            "enum": [
              "video",
              "image"
            ]
          },
          "src": {
            "type": "string",
            "description": "Media source URL"
          },
          "frames": {
            "description": "Video frame URLs",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedPoster": {
            "type": "number",
            "description": "Selected poster frame index"
          },
          "thumbnailUrl": {
            "type": "string",
            "description": "Thumbnail URL"
          },
          "name": {
            "type": "string",
            "description": "Media name"
          },
          "headline": {
            "type": "string",
            "description": "Media headline"
          },
          "destinationUrl": {
            "type": "string",
            "description": "Click-through destination URL"
          },
          "fileSizeBytes": {
            "type": "number",
            "description": "File size in bytes"
          }
        }
      },
      "ad_manager_LinkedInAdDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "introductoryText": {
            "type": "string"
          },
          "destinationUrl": {
            "type": "string"
          },
          "callToActionLabel": {
            "type": "string"
          },
          "destinationFormId": {
            "type": "string"
          },
          "contentReferenceString": {
            "type": "string"
          },
          "media": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_LinkedInMediaDTO"
            }
          },
          "adCampaignId": {
            "type": "string"
          },
          "adId": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "publishingStatus": {
            "type": "string",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "adCampaignGroupId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "linkedInError": {
            "type": "string",
            "description": "LinkedIn API error message"
          }
        }
      },
      "ad_manager_AdCampaignDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "description": "Campaign locale",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocaleDTO"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "publishingStatus": {
            "type": "string",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "mediaType": {
            "type": "string",
            "description": "Campaign audience targeting",
            "enum": [
              "STANDARD_UPDATE",
              "SINGLE_VIDEO",
              "CAROUSEL"
            ]
          },
          "audience": {
            "description": "Campaign audience targeting",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_AudienceDTO"
              }
            ]
          },
          "unitCost": {
            "description": "Bid unit cost",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_UnitCostDTO"
              }
            ]
          },
          "campaignType": {
            "type": "string"
          },
          "adCampaignGroupId": {
            "type": "string"
          },
          "adCampaignId": {
            "type": "string"
          },
          "ads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_LinkedInAdDTO"
            }
          },
          "linkedInError": {
            "type": "string",
            "description": "LinkedIn API error message"
          },
          "meta": {
            "type": "object"
          }
        }
      },
      "ad_manager_AdCampaignGroupDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID"
          },
          "budget": {
            "$ref": "#/components/schemas/ad_manager_LinkedInBudgetDTO"
          },
          "adCampaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_AdCampaignDTO"
            }
          },
          "adBudgetOptimization": {
            "type": "string",
            "enum": [
              "MAXIMUM_DELIVERY",
              "COST_CAP"
            ]
          },
          "objectiveType": {
            "type": "string",
            "enum": [
              "LEAD_GENERATION",
              "WEBSITE_VISIT"
            ]
          },
          "name": {
            "type": "string"
          },
          "adCampaignGroupId": {
            "type": "string"
          },
          "publishingStatus": {
            "type": "string",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "linkedInAdAccountId": {
            "type": "string"
          },
          "unpublishedChanges": {
            "type": "boolean"
          },
          "meta": {
            "type": "object"
          },
          "linkedInError": {
            "type": "string"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_manager_SponsoredAccountOwnerDTO": {
        "type": "object",
        "properties": {
          "sponsoredAccount": {
            "type": "string",
            "description": "Sponsored account URN",
            "example": "urn:li:sponsoredAccount:123456"
          }
        },
        "required": [
          "sponsoredAccount"
        ]
      },
      "ad_manager_CreationLocaleDTO": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country code",
            "example": "US"
          },
          "language": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          }
        },
        "required": [
          "country",
          "language"
        ]
      },
      "ad_manager_LocalizedStringDTO": {
        "type": "object",
        "properties": {
          "localized": {
            "type": "object",
            "description": "Locale-keyed string map",
            "example": {
              "en_US": "Hello"
            }
          }
        },
        "required": [
          "localized"
        ]
      },
      "ad_manager_MultipleChoiceOptionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Option ID",
            "example": 1
          },
          "text": {
            "description": "Option text",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          }
        },
        "required": [
          "id",
          "text"
        ]
      },
      "ad_manager_MultipleChoiceQuestionDetailsDTO": {
        "type": "object",
        "properties": {
          "options": {
            "description": "Choice options",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_MultipleChoiceOptionDTO"
            }
          }
        },
        "required": [
          "options"
        ]
      },
      "ad_manager_QuestionDetailsDTO": {
        "type": "object",
        "properties": {
          "textQuestionDetails": {
            "type": "object",
            "description": "Text question details (empty object for text questions)"
          },
          "multipleChoiceQuestionDetails": {
            "description": "Multiple choice question details",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_MultipleChoiceQuestionDetailsDTO"
              }
            ]
          }
        }
      },
      "ad_manager_LeadFormQuestionDTO": {
        "type": "object",
        "properties": {
          "question": {
            "description": "Question text",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Question field name",
            "example": "firstName"
          },
          "questionDetails": {
            "description": "Question type details",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_QuestionDetailsDTO"
              }
            ]
          },
          "predefinedField": {
            "type": "string",
            "description": "Predefined field identifier",
            "example": "FIRST_NAME"
          }
        },
        "required": [
          "question",
          "name",
          "questionDetails"
        ]
      },
      "ad_manager_PostSubmissionCallToActionTargetDTO": {
        "type": "object",
        "properties": {
          "landingPageUrl": {
            "type": "string",
            "description": "Landing page URL",
            "example": "https://example.com/thank-you"
          }
        },
        "required": [
          "landingPageUrl"
        ]
      },
      "ad_manager_PostSubmissionCallToActionDTO": {
        "type": "object",
        "properties": {
          "callToActionTarget": {
            "description": "Call to action target",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_PostSubmissionCallToActionTargetDTO"
              }
            ]
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label",
            "enum": [
              "VISIT_COMPANY_WEBSITE",
              "DOWNLOAD_NOW",
              "TRY_NOW",
              "VIEW_NOW",
              "LEARN_MORE"
            ]
          }
        },
        "required": [
          "callToActionTarget",
          "callToActionLabel"
        ]
      },
      "ad_manager_PostSubmissionInfoDTO": {
        "type": "object",
        "properties": {
          "message": {
            "description": "Thank-you message",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          },
          "callToAction": {
            "description": "Post-submission call to action",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_PostSubmissionCallToActionDTO"
              }
            ]
          }
        },
        "required": [
          "message",
          "callToAction"
        ]
      },
      "ad_manager_ConsentDTO": {
        "type": "object",
        "properties": {
          "checkRequired": {
            "type": "boolean",
            "description": "Whether consent checkbox is required",
            "example": true
          },
          "id": {
            "type": "number",
            "description": "Consent identifier",
            "example": 1
          },
          "consent": {
            "description": "Consent text",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          }
        },
        "required": [
          "checkRequired",
          "id",
          "consent"
        ]
      },
      "ad_manager_LegalInfoDTO": {
        "type": "object",
        "properties": {
          "consents": {
            "description": "Consent entries",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_ConsentDTO"
            }
          },
          "privacyPolicyUrl": {
            "type": "string",
            "description": "Privacy policy URL",
            "example": "https://example.com/privacy"
          },
          "legalDisclaimer": {
            "description": "Legal disclaimer text",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          }
        },
        "required": [
          "consents",
          "privacyPolicyUrl"
        ]
      },
      "ad_manager_LeadFormContentDTO": {
        "type": "object",
        "properties": {
          "questions": {
            "description": "Form questions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_LeadFormQuestionDTO"
            }
          },
          "description": {
            "description": "Form description",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          },
          "headline": {
            "description": "Form headline",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LocalizedStringDTO"
              }
            ]
          },
          "postSubmissionInfo": {
            "description": "Post-submission info",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_PostSubmissionInfoDTO"
              }
            ]
          },
          "legalInfo": {
            "description": "Legal information",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LegalInfoDTO"
              }
            ]
          }
        },
        "required": [
          "questions",
          "headline",
          "postSubmissionInfo",
          "legalInfo"
        ]
      },
      "ad_manager_HiddenFieldDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "utm_source"
          },
          "value": {
            "type": "string",
            "description": "Field value",
            "example": "linkedin"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "ad_manager_LinkedInCreateLeadFormBodyDTO": {
        "type": "object",
        "properties": {
          "owner": {
            "description": "Form owner",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_SponsoredAccountOwnerDTO"
              }
            ]
          },
          "creationLocale": {
            "description": "Creation locale",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_CreationLocaleDTO"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Form name",
            "example": "Contact Us"
          },
          "state": {
            "type": "string",
            "description": "Form state",
            "enum": [
              "PUBLISHED"
            ],
            "example": "PUBLISHED"
          },
          "content": {
            "description": "Form content",
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_manager_LeadFormContentDTO"
              }
            ]
          },
          "hiddenFields": {
            "description": "Hidden fields",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_manager_HiddenFieldDTO"
            }
          }
        },
        "required": [
          "owner",
          "creationLocale",
          "name",
          "state",
          "content"
        ]
      },
      "ad_manager_LinkedInUpdateAdStatusBodyDTO": {
        "type": "object",
        "properties": {
          "operationType": {
            "type": "string",
            "description": "Update operation",
            "example": "PAUSED",
            "enum": [
              "PAUSED",
              "ARCHIVED",
              "RESUME"
            ]
          },
          "type": {
            "type": "string",
            "description": "Ad object type",
            "example": "adCampaign",
            "enum": [
              "adGroup",
              "adCampaign",
              "ad"
            ]
          }
        },
        "required": [
          "operationType",
          "type"
        ]
      },
      "affiliate_manager_OAuthAffiliateListItemResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Affiliate id",
            "example": "63d147176c5bbc30e9e091a4"
          },
          "firstName": {
            "type": "string",
            "description": "Affiliate first name",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Affiliate last name",
            "example": "Doe"
          },
          "phone": {
            "type": "string",
            "description": "Affiliate phone number",
            "example": "+1 888 888-8888"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the affiliate is deleted",
            "example": false
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "active": {
            "type": "boolean",
            "description": "Whether the affiliate is active",
            "example": true
          },
          "address": {
            "type": "string",
            "description": "Affiliate address",
            "example": "123 Main St"
          },
          "avatar": {
            "type": "string",
            "description": "Affiliate avatar URL",
            "example": "https://example.com/avatar.png"
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "createdBy": {
            "type": "object",
            "description": "Created by audit info"
          },
          "facebookUrl": {
            "type": "string",
            "description": "Facebook URL",
            "example": "https://facebook.com/johndoe"
          },
          "instagramUrl": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://instagram.com/johndoe"
          },
          "linkedInUrl": {
            "type": "string",
            "description": "LinkedIn URL",
            "example": "https://linkedin.com/in/johndoe"
          },
          "twitterUrl": {
            "type": "string",
            "description": "Twitter URL",
            "example": "https://twitter.com/johndoe"
          },
          "youtubeUrl": {
            "type": "string",
            "description": "YouTube URL",
            "example": "https://youtube.com/channel"
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "contactId": {
            "type": "string",
            "description": "Contact id associated with the affiliate",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "campaignIds": {
            "description": "Campaign ids",
            "example": [
              "650173614761b33c46d33b19"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vatId": {
            "type": "string",
            "description": "VAT ID",
            "example": "VAT123"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "w8Form": {
            "type": "string",
            "description": "W8 form URL"
          },
          "w9Form": {
            "type": "string",
            "description": "W9 form URL"
          },
          "lastUpdatedBy": {
            "type": "object",
            "description": "Last updated by audit info"
          },
          "email": {
            "type": "string",
            "description": "Affiliate email",
            "example": "john.doe@example.com"
          },
          "revenue": {
            "type": "number",
            "description": "Affiliate revenue",
            "example": 1250.5
          },
          "customer": {
            "type": "number",
            "description": "Customer count",
            "example": 15
          },
          "lead": {
            "type": "number",
            "description": "Lead count",
            "example": 5
          },
          "droppedCustomer": {
            "type": "number",
            "description": "Dropped customer count",
            "example": 2
          },
          "clickCount": {
            "type": "number",
            "description": "Click count",
            "example": 100
          },
          "paid": {
            "type": "number",
            "description": "Paid amount",
            "example": 500
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "owned": {
            "type": "number",
            "description": "Owned amount",
            "example": 750
          }
        },
        "required": [
          "_id",
          "locationId",
          "email"
        ]
      },
      "affiliate_manager_AffiliateListMetaResponseDto": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total affiliates matching the applied filters",
            "example": 42
          }
        },
        "required": [
          "count"
        ]
      },
      "affiliate_manager_ListAffiliatesResponseDto": {
        "type": "object",
        "properties": {
          "affiliates": {
            "description": "Affiliate list",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/affiliate_manager_OAuthAffiliateListItemResponseDto"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_AffiliateListMetaResponseDto"
              }
            ]
          }
        },
        "required": [
          "affiliates",
          "meta"
        ]
      },
      "affiliate_manager_GetAffiliateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Affiliate id",
            "example": "63d147176c5bbc30e9e091a4"
          },
          "firstName": {
            "type": "string",
            "description": "Affiliate first name",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Affiliate last name",
            "example": "Doe"
          },
          "phone": {
            "type": "string",
            "description": "Affiliate phone number",
            "example": "+1 888 888-8888"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the affiliate is deleted",
            "example": false
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "active": {
            "type": "boolean",
            "description": "Whether the affiliate is active",
            "example": true
          },
          "address": {
            "type": "string",
            "description": "Affiliate address",
            "example": "123 Main St"
          },
          "avatar": {
            "type": "string",
            "description": "Affiliate avatar URL",
            "example": "https://example.com/avatar.png"
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "createdBy": {
            "type": "object",
            "description": "Created by audit info"
          },
          "facebookUrl": {
            "type": "string",
            "description": "Facebook URL",
            "example": "https://facebook.com/johndoe"
          },
          "instagramUrl": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://instagram.com/johndoe"
          },
          "linkedInUrl": {
            "type": "string",
            "description": "LinkedIn URL",
            "example": "https://linkedin.com/in/johndoe"
          },
          "twitterUrl": {
            "type": "string",
            "description": "Twitter URL",
            "example": "https://twitter.com/johndoe"
          },
          "youtubeUrl": {
            "type": "string",
            "description": "YouTube URL",
            "example": "https://youtube.com/channel"
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "contactId": {
            "type": "string",
            "description": "Contact id associated with the affiliate",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "campaignIds": {
            "description": "Campaign ids",
            "example": [
              "650173614761b33c46d33b19"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vatId": {
            "type": "string",
            "description": "VAT ID",
            "example": "VAT123"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "w8Form": {
            "type": "string",
            "description": "W8 form URL"
          },
          "w9Form": {
            "type": "string",
            "description": "W9 form URL"
          },
          "lastUpdatedBy": {
            "type": "object",
            "description": "Last updated by audit info"
          },
          "email": {
            "type": "string",
            "description": "Affiliate email",
            "example": "john.doe@example.com"
          },
          "revenue": {
            "type": "number",
            "description": "Affiliate revenue",
            "example": 1250.5
          },
          "customer": {
            "type": "number",
            "description": "Customer count",
            "example": 15
          },
          "lead": {
            "type": "number",
            "description": "Lead count",
            "example": 5
          },
          "droppedCustomer": {
            "type": "number",
            "description": "Dropped customer count",
            "example": 2
          },
          "clickCount": {
            "type": "number",
            "description": "Click count",
            "example": 100
          },
          "paid": {
            "type": "number",
            "description": "Paid amount",
            "example": 500
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "owned": {
            "type": "number",
            "description": "Owned amount",
            "example": 750
          }
        },
        "required": [
          "_id",
          "locationId",
          "email"
        ]
      },
      "affiliate_manager_PayoutListItemResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Payout id",
            "example": "65df04201e428a0c5ebb6571"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "affiliateId": {
            "type": "string",
            "description": "Affiliate id",
            "example": "65df04201e428a0c5ebb6572"
          },
          "campaignId": {
            "type": "string",
            "description": "Campaign id",
            "example": "65df04201e428a0c5ebb6573"
          },
          "currency": {
            "type": "string",
            "description": "Payout currency",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "Payout amount",
            "example": 150
          },
          "status": {
            "type": "string",
            "description": "Payout status",
            "example": "pending"
          },
          "payoutMonth": {
            "type": "string",
            "description": "Payout month",
            "example": "2024-06-01T00:00:00.000Z"
          },
          "dueAt": {
            "type": "string",
            "description": "Payout due date",
            "example": "2024-06-30T00:00:00.000Z"
          },
          "paidAt": {
            "type": "string",
            "description": "Payout paid date",
            "example": "2024-06-30T00:00:00.000Z"
          },
          "paidMeta": {
            "type": "object",
            "description": "Payout metadata"
          },
          "paidMethod": {
            "type": "string",
            "description": "Payout paid method",
            "example": "manual"
          },
          "altId": {
            "type": "string",
            "description": "Alternate id",
            "example": "alt_123"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the payout is deleted",
            "example": false
          },
          "isMigrated": {
            "type": "boolean",
            "description": "Whether the payout is migrated",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2024-06-17T00:00:00.000Z"
          },
          "campaign": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Promo"
          },
          "affiliateName": {
            "type": "string",
            "description": "Affiliate display name",
            "example": "John Doe"
          },
          "affiliateEmail": {
            "type": "string",
            "description": "Affiliate email",
            "example": "john.doe@example.com"
          },
          "payoutMethod": {
            "type": "string",
            "description": "Primary payout method",
            "example": "paypal"
          },
          "affiliate": {
            "description": "Affiliate details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_OAuthAffiliateListItemResponseDto"
              }
            ]
          }
        },
        "required": [
          "_id",
          "locationId",
          "affiliateId",
          "currency",
          "amount"
        ]
      },
      "affiliate_manager_PayoutListMetaResponseDto": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total payouts matching the filters",
            "example": 42
          }
        },
        "required": [
          "count"
        ]
      },
      "affiliate_manager_GetPayoutListResponseDto": {
        "type": "object",
        "properties": {
          "payouts": {
            "description": "Payout list",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/affiliate_manager_PayoutListItemResponseDto"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_PayoutListMetaResponseDto"
              }
            ]
          }
        },
        "required": [
          "payouts"
        ]
      },
      "affiliate_manager_CommissionCustomerResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Customer id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "firstName": {
            "type": "string",
            "description": "Customer first name",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Customer last name",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "description": "Customer email",
            "example": "john@example.com"
          },
          "type": {
            "type": "string",
            "description": "Customer type",
            "example": "customer"
          }
        }
      },
      "affiliate_manager_CommissionCampaignResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Promo"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Whether the campaign is in live mode",
            "example": true
          }
        }
      },
      "affiliate_manager_CommissionAffiliateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Affiliate id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "name": {
            "type": "string",
            "description": "Affiliate display name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Affiliate email",
            "example": "affiliate@example.com"
          }
        }
      },
      "affiliate_manager_CommissionListItemResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Commission id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "productId": {
            "type": "string",
            "description": "Product id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "productName": {
            "type": "string",
            "description": "Product name",
            "example": "Basic Plan"
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "example": 1
          },
          "productCommission": {
            "type": "number",
            "description": "Product commission amount",
            "example": 25
          },
          "commissionAmount": {
            "type": "number",
            "description": "Commission amount",
            "example": 25
          },
          "amount": {
            "type": "number",
            "description": "Base amount",
            "example": 100
          },
          "unitDiscount": {
            "type": "number",
            "description": "Unit discount",
            "example": 5
          },
          "campaignName": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Promo"
          },
          "commission": {
            "type": "number",
            "description": "Commission percentage or value",
            "example": 25
          },
          "commissionType": {
            "type": "string",
            "description": "Commission type",
            "example": "percentage"
          },
          "transactionAt": {
            "type": "string",
            "description": "Transaction time",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "transactionId": {
            "type": "string",
            "description": "Transaction id",
            "example": "txn_123"
          },
          "affiliateId": {
            "type": "string",
            "description": "Affiliate id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "payoutId": {
            "type": "string",
            "description": "Payout id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "status": {
            "type": "string",
            "description": "Commission status",
            "example": "pending"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "isTrial": {
            "type": "boolean",
            "description": "Whether the item is a trial commission",
            "example": false
          },
          "customer": {
            "description": "Customer details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_CommissionCustomerResponseDto"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Created at",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "eventId": {
            "type": "string",
            "description": "Event id",
            "example": "evt_123"
          },
          "campaign": {
            "description": "Campaign details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_CommissionCampaignResponseDto"
              }
            ]
          },
          "affiliate": {
            "description": "Affiliate details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_CommissionAffiliateResponseDto"
              }
            ]
          },
          "dueAt": {
            "type": "string",
            "description": "Due date",
            "example": "2024-06-30T00:00:00.000Z"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Whether the commission is in live mode",
            "example": true
          },
          "tier": {
            "type": "number",
            "description": "Commission tier",
            "example": 1
          }
        },
        "required": [
          "_id"
        ]
      },
      "affiliate_manager_CommissionListMetaResponseDto": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total commissions matching the filters",
            "example": 42
          }
        },
        "required": [
          "count"
        ]
      },
      "affiliate_manager_GetCommissionListResponseDto": {
        "type": "object",
        "properties": {
          "commissions": {
            "description": "Commission list",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/affiliate_manager_CommissionListItemResponseDto"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_CommissionListMetaResponseDto"
              }
            ]
          }
        },
        "required": [
          "commissions"
        ]
      },
      "agent_studio_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 500
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          }
        }
      },
      "agent_studio_CreatePublicAgentDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "name": {
            "type": "string",
            "description": "Name of the agent",
            "example": "Customer Support Agent"
          },
          "description": {
            "type": "string",
            "description": "Description of the agent",
            "example": "AI agent specialized in handling customer inquiries and support tickets"
          },
          "agencyId": {
            "type": "string",
            "description": "Agency ID",
            "example": "gjL2sFNXJfJYa3d2OYSN"
          },
          "authorId": {
            "type": "string",
            "description": "Author ID",
            "example": "usr_abc123def456"
          },
          "authorName": {
            "type": "string",
            "description": "Author name",
            "example": "John Doe"
          },
          "authorEmail": {
            "type": "string",
            "description": "Author email",
            "example": "john@example.com"
          },
          "status": {
            "type": "string",
            "description": "Status of the agent",
            "enum": [
              "active",
              "inactive",
              "archived"
            ],
            "example": "active"
          },
          "version": {
            "type": "object",
            "description": "Version data for the agent including nodes, edges, and configuration",
            "example": {
              "versionName": "Version 1",
              "description": "Initial version",
              "nodes": [],
              "edges": [],
              "uiNodes": [],
              "uiEdges": [],
              "globalVariables": [],
              "inputVariables": [],
              "runtimeVariables": [],
              "scopes": []
            }
          },
          "nodes": {
            "description": "Nodes array (deprecated, prefer using version.nodes)",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "edges": {
            "description": "Edges array (deprecated, prefer using version.edges)",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "status",
          "version"
        ]
      },
      "agent_studio_CreatePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent created successfully with staging version."
          },
          "agent": {
            "type": "object",
            "description": "Created agent data with metadata",
            "example": {
              "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
              "name": "Customer Support Agent",
              "description": "AI agent specialized in handling customer inquiries and support tickets",
              "locationId": "C2QujeCh8ZnC7al2InWR",
              "agencyId": "gjL2sFNXJfJYa3d2OYSN",
              "status": "active",
              "authorId": "usr_abc123def456",
              "folderId": "C2QujeCh8ZnC7al2InWR",
              "folderName": null,
              "createdAt": "2024-02-27T10:30:00.000Z",
              "updatedAt": "2024-02-27T10:30:00.000Z"
            }
          },
          "versions": {
            "type": "array",
            "description": "Created versions array (initial staging version)",
            "example": [
              {
                "versionId": "v1a2b3c4d5e6f7g8h9i0",
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "versionName": "Customer Support Agent v1",
                "state": "staging",
                "isPublished": false,
                "version": 1,
                "createdAt": "2024-02-27T10:30:00.000Z"
              }
            ]
          }
        },
        "required": [
          "success",
          "message",
          "agent",
          "versions"
        ]
      },
      "agent_studio_UpdatePublicAgentVersionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID for authorization",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "versionName": {
            "type": "string",
            "description": "Version name",
            "example": "Customer Support Agent v2"
          },
          "description": {
            "type": "string",
            "description": "Description of the version",
            "example": "Updated version with improved customer handling logic"
          },
          "nodes": {
            "description": "Complete array of nodes for the agent workflow. Provide all nodes including unchanged ones.",
            "example": [
              {
                "nodeId": "node_1",
                "nodeName": "Start",
                "type": "start",
                "isStartNode": true
              },
              {
                "nodeId": "node_2",
                "nodeName": "LLM Node",
                "type": "llm",
                "nodeConfig": {
                  "prompt": "How can I help you?",
                  "llmProvider": "openai",
                  "llmModel": "gpt-4"
                }
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "edges": {
            "description": "Complete array of edges connecting the nodes. Provide all edges including unchanged ones.",
            "example": [
              {
                "startNode": "node_1",
                "endNode": "node_2"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "globalVariables": {
            "description": "Global variables accessible throughout the agent workflow",
            "example": [
              {
                "key": "apiKey",
                "type": "string",
                "value": "your-api-key"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "inputVariables": {
            "description": "Input variables required from user at execution time",
            "example": [
              {
                "key": "customerName",
                "type": "string",
                "description": "Customer name for personalization"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "runtimeVariables": {
            "description": "Runtime variables generated during agent execution",
            "example": [
              {
                "key": "sessionId",
                "type": "string",
                "description": "Current session identifier"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "globalConfig": {
            "type": "object",
            "description": "Global configuration including prompts and settings",
            "example": {
              "globalPrompt": {
                "currentPrompt": "You are a helpful customer support assistant.",
                "history": []
              }
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID performing the update",
            "example": "usr_abc123def456"
          },
          "userName": {
            "type": "string",
            "description": "User name performing the update",
            "example": "John Doe"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "agent_studio_UpdatePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent updated successfully"
          },
          "data": {
            "type": "object",
            "description": "Updated agent or version data",
            "example": {
              "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
              "versionId": "v1a2b3c4d5e6f7g8h9i0",
              "name": "Updated Customer Support Agent",
              "description": "Updated AI agent with enhanced customer support capabilities",
              "status": "active",
              "updatedAt": "2024-02-27T11:45:00.000Z"
            }
          }
        },
        "required": [
          "success",
          "message",
          "data"
        ]
      },
      "agent_studio_UpdatePublicAgentMetadataDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID for authorization (cannot be updated)",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "name": {
            "type": "string",
            "description": "Name of the agent",
            "example": "Updated Customer Support Agent"
          },
          "description": {
            "type": "string",
            "description": "Description of the agent",
            "example": "Updated AI agent with enhanced customer support capabilities"
          },
          "status": {
            "type": "string",
            "description": "Status of the agent",
            "example": "active",
            "enum": [
              "active",
              "inactive",
              "archived"
            ]
          }
        },
        "required": [
          "locationId"
        ]
      },
      "agent_studio_DeletePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent deleted successfully"
          },
          "agentId": {
            "type": "string",
            "description": "Deleted agent ID",
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "agent_studio_PromoteAndPublishDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID for authorization",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "userId": {
            "type": "string",
            "description": "User ID performing the promotion action",
            "example": "usr_abc123def456"
          },
          "userName": {
            "type": "string",
            "description": "User name performing the promotion action",
            "example": "John Doe"
          },
          "userEmail": {
            "type": "string",
            "description": "User email performing the promotion action",
            "example": "john.doe@example.com"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "agent_studio_PromoteAndPublishResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Draft published to production successfully. New draft version created for future edits."
          },
          "data": {
            "type": "object",
            "description": "Result data with production and new draft version details",
            "example": {
              "productionVersion": {
                "versionId": "v1a2b3c4d5e6f7g8h9i0",
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "versionName": "Customer Support Agent v2",
                "state": "prod",
                "isPublished": true,
                "version": 2,
                "publishedAt": "2024-02-27T12:00:00.000Z",
                "publishedBy": "usr_abc123def456",
                "publishedByName": "John Doe",
                "publishedByEmail": "john.doe@example.com"
              },
              "newDraftVersion": {
                "versionId": "v2b3c4d5e6f7g8h9i0j1",
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "versionName": "Customer Support Agent v3",
                "state": "draft",
                "isPublished": false,
                "version": 3,
                "createdAt": "2024-02-27T12:00:00.000Z"
              }
            }
          }
        },
        "required": [
          "success",
          "message",
          "data"
        ]
      },
      "agent_studio_GetPublishedAgentsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agents retrieved successfully"
          },
          "agents": {
            "type": "array",
            "description": "List of agents with metadata",
            "example": [
              {
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "name": "Marketing Assistant",
                "description": "AI agent specialized in marketing strategy and content creation",
                "locationId": "C2QujeCh8ZnC7al2InWR",
                "status": "active",
                "createdAt": "2024-01-15T10:30:00.000Z",
                "updatedAt": "2024-02-20T14:45:00.000Z"
              },
              {
                "agentId": "b3c4d5e6f7g8h9i0j1k2l3m4",
                "name": "Customer Support Bot",
                "description": "AI agent for handling customer inquiries and support tickets",
                "locationId": "C2QujeCh8ZnC7al2InWR",
                "status": "active",
                "createdAt": "2024-01-10T09:15:00.000Z",
                "updatedAt": "2024-02-18T16:20:00.000Z"
              }
            ],
            "items": {
              "type": "object",
              "properties": {
                "agentId": {
                  "type": "string",
                  "description": "Agent ID"
                },
                "name": {
                  "type": "string",
                  "description": "Agent name"
                },
                "description": {
                  "type": "string",
                  "description": "Agent description"
                },
                "locationId": {
                  "type": "string",
                  "description": "Location ID"
                },
                "status": {
                  "type": "string",
                  "description": "Agent status (always \"active\")"
                },
                "createdAt": {
                  "type": "string",
                  "description": "Creation timestamp"
                },
                "updatedAt": {
                  "type": "string",
                  "description": "Last update timestamp"
                }
              }
            }
          },
          "pagination": {
            "type": "object",
            "description": "Pagination metadata",
            "example": {
              "total": 25,
              "limit": 20,
              "offset": 0,
              "hasMore": true
            },
            "properties": {
              "total": {
                "type": "number",
                "description": "Total number of agents"
              },
              "limit": {
                "type": "number",
                "description": "Number of agents per page"
              },
              "offset": {
                "type": "number",
                "description": "Starting position"
              },
              "hasMore": {
                "type": "boolean",
                "description": "Whether more agents exist"
              }
            }
          }
        },
        "required": [
          "success",
          "message",
          "agents",
          "pagination"
        ]
      },
      "agent_studio_GetAgentByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent retrieved successfully"
          },
          "agent": {
            "type": "object",
            "description": "Agent metadata with all active versions",
            "example": {
              "id": "d6a6792d-0d50-4e8f-9c3b-ecd8096d0bdd",
              "agentId": "AgfS2JXWsSN8aXb5c4d2",
              "name": "Customer Support Agent",
              "description": "AI agent for customer support",
              "agencyId": "5DP4iH6HLkQsiKESj6rh",
              "locationId": "C2QujeCh8ZnC7al2InWR",
              "productSlug": "agent_studio",
              "productId": "agent_studio",
              "authorId": "usr_123",
              "status": "active",
              "folderId": "vEoIigWSAw1BQA9DEchD",
              "folderName": "Default Agents",
              "createdAt": "2026-03-06T10:37:01.013Z",
              "updatedAt": "2026-03-06T10:37:01.014Z",
              "deleted": false,
              "productionVersion": {
                "versionId": "Ver1K8sSF2nC7al5InWz",
                "versionName": "Content Creation Agent v1",
                "isPublished": true,
                "inputVariables": [],
                "updatedAt": "2026-03-02T06:53:40.570Z"
              },
              "versions": [
                {
                  "id": "3f9d9ab7-5ca4-4e64-8472-eab9e77a0fe3",
                  "versionId": "Ver1K8sSF2nC7al5InWz",
                  "agentId": "AgfS2JXWsSN8aXb5c4d2",
                  "agencyId": "5DP4iH6HLkQsiKESj6rh",
                  "locationId": "C2QujeCh8ZnC7al2InWR",
                  "versionName": "v1",
                  "description": "AI agent for customer support",
                  "state": "staging",
                  "isPublished": false,
                  "scopes": [],
                  "nodes": [],
                  "edges": [],
                  "uiNodes": [],
                  "uiEdges": [],
                  "globalVariables": [],
                  "inputVariables": [],
                  "runtimeVariables": [],
                  "viewport": {
                    "x": 0,
                    "y": 0,
                    "zoom": 1
                  },
                  "globalConfig": {},
                  "createdAt": "2026-03-06T10:37:01.079Z",
                  "updatedAt": "2026-03-06T10:37:01.079Z",
                  "deleted": false,
                  "storedInBucket": true,
                  "bucketFilePath": "agent-definitions/5DP4iH6HLkQsiKESj6rh/vEoIigWSAw1BQA9DEchD/d6a6792d-0d50-4e8f-9c3b-ecd8096d0bdd/3f9d9ab7-5ca4-4e64-8472-eab9e77a0fe3.json"
                }
              ]
            }
          },
          "traceId": {
            "type": "string",
            "description": "Request trace ID for debugging",
            "example": "22dbda99-13d3-4b4d-a30e-c468334e2178"
          }
        },
        "required": [
          "success",
          "message",
          "agent"
        ]
      },
      "agent_studio_PublicAttachmentSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of attachment",
            "example": "image"
          },
          "imageUrl": {
            "type": "string",
            "description": "URL of the image attachment",
            "example": "https://example.com/image.png"
          }
        },
        "required": [
          "type",
          "imageUrl"
        ]
      },
      "agent_studio_ExecutePublicAgentDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Message to send to the agent",
            "example": "How can you help me with my marketing?"
          },
          "executionId": {
            "type": "string",
            "description": "Unique session identifier that maintains conversational context across multiple interactions within the same agent session. Omit this field for the first message in a new session. Include the executionId returned from the previous response to maintain context in subsequent messages.",
            "example": "a1b2c3d4e5f6g7h8i9j0k1l2"
          },
          "inputVariables": {
            "type": "object",
            "description": "Input variables to pass to the agent. These should match the input variables defined in the agent configuration.",
            "example": {
              "customerName": "John Doe",
              "orderNumber": "ORD-12345"
            }
          },
          "versionId": {
            "type": "string",
            "description": "Published version ID to execute. If not provided, the latest published production version will be used.",
            "example": "b2b1c1d2-3e4f-5a6b-7c8d-9e0f1a2b3c4d"
          },
          "attachments": {
            "description": "Attachments for the message",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agent_studio_PublicAttachmentSchema"
            }
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID to associate with this execution. When provided, contact data will be hydrated and made available to the agent.",
            "example": "cid_abc123def456"
          }
        },
        "required": [
          "message",
          "locationId"
        ]
      },
      "agent_studio_ExecutePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "executionId": {
            "type": "string",
            "description": "Unique session identifier that maintains conversational context across multiple interactions within the same agent session. Use this ID in subsequent requests to continue the conversation.",
            "example": "a1b2c3d4e5f6g7h8i9j0k1l2"
          },
          "interactionId": {
            "type": "string",
            "description": "Unique identifier for a single interaction cycle, consisting of one user input and the corresponding agent response. Each message exchange generates a new interactionId.",
            "example": "m9n8o7p6q5r4s3t2u1v0w9x8"
          },
          "response": {
            "type": "string",
            "description": "Agent response text",
            "example": "I can help you with various tasks..."
          },
          "type": {
            "type": "string",
            "description": "Response type",
            "example": "text"
          },
          "nextExpectedInput": {
            "type": "string",
            "description": "Expected input type for next interaction",
            "example": "text"
          },
          "goalCompletion": {
            "type": "boolean",
            "description": "When end node is added in the graph, this will be true if the agent reached the end node in the graph",
            "example": false
          },
          "executionStatus": {
            "type": "string",
            "description": "Execution status",
            "example": "completed"
          },
          "flowSwitch": {
            "type": "boolean",
            "description": "Whether flow was switched",
            "example": false
          },
          "attachments": {
            "type": "array",
            "description": "Response attachments",
            "example": []
          },
          "generativeOutputs": {
            "type": "array",
            "description": "Generated outputs",
            "example": []
          }
        },
        "required": [
          "success",
          "executionId",
          "interactionId",
          "response",
          "type",
          "nextExpectedInput",
          "goalCompletion",
          "executionStatus",
          "flowSwitch",
          "attachments",
          "generativeOutputs"
        ]
      },
      "associations_createRelationReqDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "clF1LD04GTUKN3b3XuOj",
            "description": "Your Sub Account's ID"
          },
          "associationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Association's Id"
          },
          "firstRecordId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "First Record's Id. For instance, if you have an association between a contact and a custom object, and you specify the contact as the first object while creating the association, then your firstRecordId would be the contactId "
          },
          "secondRecordId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Second Record's Id.For instance, if you have an association between a contact and a custom object, and you specify the custom object as the second entity while creating the association, then your secondRecordId would be the customObject record Id"
          }
        },
        "required": [
          "locationId",
          "associationId",
          "firstRecordId",
          "secondRecordId"
        ]
      },
      "associations_GetPostSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "string"
          },
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "key": {
            "type": "string",
            "example": "student",
            "description": "First Objects Association Label (custom_objects.children)"
          },
          "firstObjectLabel": {
            "type": "object",
            "example": "student",
            "description": "First Objects Association Label (custom_objects.children)"
          },
          "firstObjectKey": {
            "type": "object",
            "example": "custom_objects.children",
            "description": "First Objects Key"
          },
          "secondObjectLabel": {
            "type": "object",
            "example": "Teacher",
            "description": "Second Object Association Label (contact)"
          },
          "secondObjectKey": {
            "type": "object",
            "example": "contact",
            "description": "Second Objects Key"
          },
          "associationType": {
            "type": "object",
            "example": "USER_DEFINED",
            "description": "Association Type can be USER_DEFINED or SYSTEM_DEFINED"
          }
        },
        "required": [
          "locationId",
          "id",
          "key",
          "firstObjectLabel",
          "firstObjectKey",
          "secondObjectLabel",
          "secondObjectKey",
          "associationType"
        ]
      },
      "associations_createAssociationReqDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "string"
          },
          "key": {
            "type": "string",
            "example": "student_teacher",
            "description": "Association's Unique key"
          },
          "firstObjectLabel": {
            "type": "object",
            "example": "student",
            "description": "First Objects Association Label (custom_objects.children)"
          },
          "firstObjectKey": {
            "type": "object",
            "example": "custom_objects.children",
            "description": "First Objects Key"
          },
          "secondObjectLabel": {
            "type": "object",
            "example": "Teacher",
            "description": "Second Object Association Label (contact)"
          },
          "secondObjectKey": {
            "type": "object",
            "example": "contact",
            "description": "Second Objects Key"
          }
        },
        "required": [
          "locationId",
          "key",
          "firstObjectLabel",
          "firstObjectKey",
          "secondObjectLabel",
          "secondObjectKey"
        ]
      },
      "associations_UpdateAssociationReqDto": {
        "type": "object",
        "properties": {
          "firstObjectLabel": {
            "type": "object",
            "example": "student"
          },
          "secondObjectLabel": {
            "type": "object",
            "example": "tutor"
          }
        },
        "required": [
          "firstObjectLabel",
          "secondObjectLabel"
        ]
      },
      "associations_DeleteAssociationsResponseDTO": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "example": true,
            "description": "Deletion status"
          },
          "id": {
            "type": "string",
            "example": "6d6f6e676f5f6576656e7473",
            "description": "Association Id"
          },
          "message": {
            "type": "string",
            "example": "Association deleted successfully"
          }
        },
        "required": [
          "deleted",
          "id",
          "message"
        ]
      },
      "blogs_UrlSlugCheckResponseDTO": {
        "type": "object",
        "properties": {
          "exists": {
            "type": "boolean",
            "description": "Indicates whether the url slug exists or not"
          }
        },
        "required": [
          "exists"
        ]
      },
      "blogs_UpdateBlogPostParams": {
        "type": "object",
        "properties": {
          "title": {
            "example": "Your blog title",
            "type": "string"
          },
          "locationId": {
            "example": "Location ID",
            "type": "string"
          },
          "blogId": {
            "example": "Blog ID",
            "type": "string",
            "description": "You can find the blog id from blog site dashboard link"
          },
          "imageUrl": {
            "example": "Image URl",
            "type": "string"
          },
          "description": {
            "example": "A short description",
            "type": "string"
          },
          "rawHTML": {
            "example": "<h1>Your blog content</h1>",
            "type": "string"
          },
          "status": {
            "type": "string",
            "example": "PUBLISHED",
            "schema": {
              "type": "string"
            },
            "enum": [
              "DRAFT",
              "PUBLISHED",
              "SCHEDULED",
              "ARCHIVED"
            ]
          },
          "imageAltText": {
            "example": "Alt text for your blog image",
            "type": "string"
          },
          "categories": {
            "example": [
              "9c48df2694a849b6089f9d0d3513efe",
              "6683abde331c041f32c07aee"
            ],
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This needs to be array of category ids, which you can get from the category get api call."
          },
          "tags": {
            "example": [
              "blog",
              "seo"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "author": {
            "example": "6683abde331c041f32c07aea",
            "type": "string",
            "description": "This needs to be author id, which you can get from the author get api call."
          },
          "urlSlug": {
            "example": "any-blog-post-url",
            "type": "string"
          },
          "canonicalLink": {
            "example": "https://blog.crm.gesvision.com/post/testing-unsplash",
            "type": "string"
          },
          "publishedAt": {
            "example": "2025-02-05T18:30:47.000Z",
            "type": "string",
            "description": "Provide ISO timestamp"
          }
        },
        "required": [
          "title",
          "locationId",
          "blogId",
          "imageUrl",
          "description",
          "rawHTML",
          "status",
          "imageAltText",
          "categories",
          "author",
          "urlSlug",
          "publishedAt"
        ]
      },
      "blogs_BlogPostUpdateResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "updatedBlogPost": {
            "$ref": "#/components/schemas/blogs_BlogPostResponseDTO"
          }
        },
        "required": [
          "updatedBlogPost"
        ]
      },
      "blogs_CreateBlogPostParams": {
        "type": "object",
        "properties": {
          "title": {
            "example": "Your blog title",
            "type": "string"
          },
          "locationId": {
            "example": "Location ID",
            "type": "string"
          },
          "blogId": {
            "example": "Blog ID",
            "type": "string",
            "description": "You can find the blog id from blog site dashboard link"
          },
          "imageUrl": {
            "example": "Image URl",
            "type": "string"
          },
          "description": {
            "example": "A short description",
            "type": "string"
          },
          "rawHTML": {
            "example": "<h1>Your blog content</h1>",
            "type": "string"
          },
          "status": {
            "type": "string",
            "example": "This can be PUBLISHED OR SCHEDULED OR ARCHIVED OR DRAFT",
            "schema": {
              "type": "string"
            },
            "enum": [
              "DRAFT",
              "PUBLISHED",
              "SCHEDULED",
              "ARCHIVED"
            ]
          },
          "imageAltText": {
            "example": "Alt text for your blog image",
            "type": "string"
          },
          "categories": {
            "example": [
              "9c48df2694a849b6089f9d0d3513efe",
              "6683abde331c041f32c07aee"
            ],
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This needs to be array of category ids, which you can get from the category get api call."
          },
          "tags": {
            "example": [
              "blog",
              "seo"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "author": {
            "example": "6683abde331c041f32c07aea",
            "type": "string",
            "description": "This needs to be author id, which you can get from the author get api call."
          },
          "urlSlug": {
            "example": "any-blog-post-url",
            "type": "string"
          },
          "canonicalLink": {
            "example": "https://blog.crm.gesvision.com/post/testing-unsplash",
            "type": "string"
          },
          "publishedAt": {
            "example": "2025-02-05T18:30:47.000Z",
            "type": "string",
            "description": "Provide ISO timestamp"
          }
        },
        "required": [
          "title",
          "locationId",
          "blogId",
          "imageUrl",
          "description",
          "rawHTML",
          "status",
          "imageAltText",
          "categories",
          "author",
          "urlSlug",
          "publishedAt"
        ]
      },
      "blogs_BlogPostCreateResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/blogs_BlogPostResponseDTO"
          }
        },
        "required": [
          "data"
        ]
      },
      "blogs_AuthorsResponseDTO": {
        "type": "object",
        "properties": {
          "authors": {
            "type": "array",
            "description": "Array of authors",
            "items": {
              "$ref": "#/components/schemas/blogs_AuthorResponseDTO"
            }
          }
        },
        "required": [
          "authors"
        ]
      },
      "blogs_AuthorResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "name": {
            "type": "string",
            "example": "CRM Gesvision"
          },
          "locationId": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "updatedAt": {
            "type": "string",
            "example": "2025-01-03T11:06:35.822Z"
          },
          "canonicalLink": {
            "type": "string",
            "example": "https://blog.crm.gesvision.com/post/technology"
          }
        },
        "required": [
          "_id",
          "name",
          "locationId",
          "updatedAt",
          "canonicalLink"
        ]
      },
      "blogs_CategoriesResponseDTO": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "description": "Array of categories",
            "items": {
              "$ref": "#/components/schemas/blogs_CategoryResponseDTO"
            }
          }
        },
        "required": [
          "categories"
        ]
      },
      "blogs_CategoryResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "label": {
            "type": "string",
            "example": "CRM Gesvision"
          },
          "locationId": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "updatedAt": {
            "type": "string",
            "example": "2025-01-03T11:06:35.822Z"
          },
          "canonicalLink": {
            "type": "string",
            "example": "https://blog.crm.gesvision.com/doc/category/agency-growth"
          },
          "urlSlug": {
            "type": "string",
            "example": "agency-growth"
          }
        },
        "required": [
          "_id",
          "name",
          "locationId",
          "updatedAt",
          "canonicalLink",
          "urlSlug"
        ]
      },
      "blogs_BlogGetResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "Object containing response data of blog",
            "items": {
              "$ref": "#/components/schemas/blogs_BlogResponseDTO"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "blogs_BlogResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6",
            "description": "Unique identifier of the blog"
          },
          "name": {
            "type": "string",
            "example": "My blog",
            "description": "Name of the blog"
          }
        },
        "required": [
          "_id",
          "name"
        ]
      },
      "blogs_BlogPostGetResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "blogs": {
            "type": "array",
            "description": "Object containing response data of blog posts",
            "items": {
              "$ref": "#/components/schemas/blogs_BlogPostResponseDTO"
            }
          }
        },
        "required": [
          "blogs"
        ]
      },
      "blogs_BlogPostResponseDTO": {
        "type": "object",
        "properties": {
          "categories": {
            "example": [
              "659ecabc4a37969a2b7cc370",
              "6683abde331c041f32c07aee"
            ],
            "description": "Array of category IDs associated with the blog post",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "example": [
              "Apple",
              "Banana"
            ],
            "description": "Array of tags associated with the blog post",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "archived": {
            "type": "boolean",
            "example": false,
            "description": "Indicates whether the blog post is archived"
          },
          "_id": {
            "type": "string",
            "example": "66c381b38be80858b9af62b6",
            "description": "Unique identifier of the blog post"
          },
          "title": {
            "type": "string",
            "example": "Banana is good source of energy",
            "description": "Title of the blog post"
          },
          "description": {
            "type": "string",
            "example": "Description",
            "description": "Description of the blog post"
          },
          "imageUrl": {
            "type": "string",
            "example": "https://storage.googleapis.com/crm-media/fACm0Ojm5oC70G3DcFmE/media/66b5aa3b1745b2713a8d033f.jpeg",
            "description": "URL of the image associated with the blog post"
          },
          "status": {
            "type": "string",
            "example": "PUBLISHED",
            "description": "Publication status of the blog post"
          },
          "imageAltText": {
            "type": "string",
            "example": "alt",
            "description": "Alternative text for the blog post image"
          },
          "urlSlug": {
            "type": "string",
            "example": "banana-good-energy",
            "description": "URL slug for the blog post"
          },
          "canonicalLink": {
            "type": "string",
            "example": "https://blog.chatgpts.agency/post/test-8384",
            "description": "Canonical link of the blog post"
          },
          "author": {
            "type": "string",
            "example": "659ec9634a3796e4e47cc360",
            "description": "Identifier of the author of the blog post"
          },
          "publishedAt": {
            "type": "string",
            "example": "2024-08-19T17:14:57.000Z",
            "description": "Timestamp when the blog post was published"
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-08-19T17:32:36.182Z",
            "description": "Timestamp when the blog post was last updated"
          }
        },
        "required": [
          "categories",
          "archived",
          "_id",
          "title",
          "description",
          "imageUrl",
          "status",
          "imageAltText",
          "urlSlug",
          "publishedAt",
          "updatedAt"
        ]
      },
      "brand_boards_Logo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the logo",
            "example": "logo_abc123"
          },
          "url": {
            "type": "string",
            "description": "Public URL of the logo image. Used for uploading to the brand board folder in media library",
            "example": "https://storage.googleapis.com/bucket/logos/my-logo.png"
          },
          "label": {
            "type": "string",
            "description": "Display label for the logo (e.g., Primary, Secondary)",
            "example": "Primary Logo"
          },
          "path": {
            "type": "string",
            "description": "Storage path of the logo in the media library",
            "example": "/locations/ve9EPM428h8vShlRW1KT/logos/my-logo.png"
          }
        },
        "required": [
          "id",
          "url",
          "label",
          "path"
        ]
      },
      "brand_boards_Color": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the color",
            "example": "color_xyz789"
          },
          "hexa": {
            "type": "string",
            "description": "Color in HEXA format (with alpha)",
            "example": "#FF5733FF"
          },
          "rgba": {
            "type": "string",
            "description": "Color in RGBA format",
            "example": "rgba(255, 87, 51, 1)"
          },
          "hex": {
            "type": "string",
            "description": "Color in HEX format",
            "example": "#FF5733"
          },
          "rgb": {
            "type": "string",
            "description": "Color in RGB format",
            "example": "rgb(255, 87, 51)"
          },
          "label": {
            "type": "string",
            "description": "Display label for the color",
            "example": "Brand Orange"
          }
        },
        "required": [
          "id",
          "hexa",
          "rgba",
          "hex",
          "rgb",
          "label"
        ]
      },
      "brand_boards_Font": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the font",
            "example": "font_def456"
          },
          "font": {
            "type": "string",
            "description": "Font family name",
            "example": "Montserrat"
          },
          "fallback": {
            "type": "string",
            "description": "Fallback font family",
            "example": "sans-serif"
          },
          "label": {
            "type": "string",
            "description": "Display label for the font",
            "example": "Heading Font"
          }
        },
        "required": [
          "id",
          "font",
          "fallback",
          "label"
        ]
      },
      "brand_boards_CreateBrandBoardParam": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID where the brand board will be created",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Name of the brand board",
            "example": "My Brand Board"
          },
          "logos": {
            "description": "Array of logos for the brand board",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Logo"
            }
          },
          "colors": {
            "description": "Array of colors for the brand board",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Color"
            }
          },
          "fonts": {
            "description": "Array of fonts for the brand board",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Font"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Set as the default brand board for this location",
            "example": true
          },
          "brandBoardId": {
            "type": "string",
            "description": "Source brand board ID to copy from (creates a new brand board based on this template)",
            "example": "507f1f77bcf86cd799439011"
          },
          "parentId": {
            "type": "string",
            "description": "Parent folder ID in media library for organizing brand boards",
            "example": "507f1f77bcf86cd799439011"
          },
          "type": {
            "type": "string",
            "description": "Source type indicating how the brand board was created",
            "enum": [
              "template",
              "blank",
              "snapshot"
            ],
            "example": "blank"
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "brand_boards_MetaData": {
        "type": "object",
        "properties": {
          "updatedBy": {
            "type": "string",
            "description": "User ID who last updated the brand board",
            "example": "user_abc123"
          },
          "lastAction": {
            "type": "string",
            "description": "Last action performed on the brand board",
            "example": "UPDATE"
          },
          "sourceId": {
            "type": "string",
            "description": "Source brand board ID if created from a template",
            "example": "507f1f77bcf86cd799439011"
          },
          "sourceType": {
            "type": "string",
            "description": "How the brand board was created",
            "example": "blank",
            "enum": [
              "template",
              "blank",
              "snapshot"
            ]
          }
        }
      },
      "brand_boards_GetBrandBoardSuccessDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Brand board ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Brand board name",
            "example": "My Brand Board"
          },
          "logos": {
            "description": "Array of logos",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Logo"
            }
          },
          "colors": {
            "description": "Array of brand colors",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Color"
            }
          },
          "fonts": {
            "description": "Array of brand fonts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Font"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default brand board for the location",
            "example": false
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the brand board has been soft deleted",
            "example": false
          },
          "parentId": {
            "type": "string",
            "description": "Parent folder ID in media library",
            "example": "507f1f77bcf86cd799439011"
          },
          "folderId": {
            "type": "string",
            "description": "Media library folder ID for this brand board",
            "example": "507f1f77bcf86cd799439011"
          },
          "originId": {
            "type": "string",
            "description": "Original brand board ID if cloned from snapshot",
            "example": "507f1f77bcf86cd799439011"
          },
          "meta": {
            "description": "Metadata about the brand board",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_MetaData"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "default",
          "deleted"
        ]
      },
      "brand_boards_InvalidLocationDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 403
          },
          "message": {
            "type": "string",
            "example": "The token does not have access to this location"
          }
        }
      },
      "brand_boards_BrandBoardListItemDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Brand board ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Brand board name",
            "example": "My Brand Board"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default brand board for the location",
            "example": false
          },
          "meta": {
            "description": "Metadata about the brand board",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_MetaData"
              }
            ]
          }
        },
        "required": [
          "_id",
          "name",
          "updatedAt"
        ]
      },
      "brand_boards_GetBrandBoardsByLocationSuccessDTO": {
        "type": "object",
        "properties": {
          "brandBoards": {
            "description": "Array of brand boards for the location",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_BrandBoardListItemDTO"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of brand boards matching the query",
            "example": 42
          }
        },
        "required": [
          "brandBoards",
          "totalCount"
        ]
      },
      "brand_boards_NotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Not Found"
          },
          "error": {
            "type": "string",
            "example": "The requested resource was not found"
          }
        }
      },
      "brand_boards_UpdateBrandBoardBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the brand board",
            "example": "My Brandboard 2"
          },
          "logos": {
            "description": "Array of logos for the brand board",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Logo"
            }
          },
          "colors": {
            "description": "Array of colors for the brand board",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Color"
            }
          },
          "fonts": {
            "description": "Array of fonts for the brand board",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_Font"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Set as the default brand board for this location",
            "example": true
          },
          "parentId": {
            "type": "string",
            "description": "Parent folder ID in media library (reserved for future use)",
            "example": "507f1f77bcf86cd799439011"
          }
        }
      },
      "businesses_BusinessCreatedByOrUpdatedBy": {
        "type": "object",
        "properties": {}
      },
      "businesses_BusinessDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Business Id",
            "example": "63771dcac1116f0e21de8e12"
          },
          "name": {
            "type": "string",
            "description": "Business Name",
            "example": "Microsoft"
          },
          "phone": {
            "type": "string",
            "description": "phone number"
          },
          "email": {
            "type": "string",
            "description": "email",
            "example": "abc@microsoft.com"
          },
          "website": {
            "type": "string",
            "description": "website",
            "example": "microsoft.com"
          },
          "address": {
            "type": "string",
            "description": "address"
          },
          "city": {
            "type": "string",
            "description": "city"
          },
          "description": {
            "type": "string",
            "description": "description"
          },
          "state": {
            "type": "string",
            "description": "state"
          },
          "postalCode": {
            "type": "string",
            "description": "postal code"
          },
          "country": {
            "type": "string",
            "description": "country",
            "example": "united states"
          },
          "updatedBy": {
            "description": "updated By",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_BusinessCreatedByOrUpdatedBy"
              }
            ]
          },
          "locationId": {
            "type": "string",
            "description": "locaitonId"
          },
          "createdBy": {
            "description": "Created By",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_BusinessCreatedByOrUpdatedBy"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Creation Time"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Last updation time"
          }
        },
        "required": [
          "id",
          "name",
          "locationId"
        ]
      },
      "businesses_GetBusinessByLocationResponseDto": {
        "type": "object",
        "properties": {
          "businesses": {
            "description": "Business Response",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/businesses_BusinessDto"
            }
          }
        },
        "required": [
          "businesses"
        ]
      },
      "businesses_CreateBusinessDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Microsoft"
          },
          "locationId": {
            "type": "string",
            "example": "5DP4iH6HLkQsiKESj6rh"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "website": {
            "type": "string",
            "example": "www.xyz.com"
          },
          "address": {
            "type": "string",
            "example": "street adress"
          },
          "city": {
            "type": "string",
            "example": "new york"
          },
          "postalCode": {
            "type": "string",
            "example": "12312312"
          },
          "state": {
            "type": "string",
            "example": "new york"
          },
          "country": {
            "type": "string",
            "example": "us"
          },
          "description": {
            "type": "string",
            "example": "business description"
          }
        },
        "required": [
          "name",
          "locationId"
        ]
      },
      "businesses_UpdateBusinessResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success Value",
            "example": true
          },
          "buiseness": {
            "description": "Business Response",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_BusinessDto"
              }
            ]
          }
        },
        "required": [
          "success",
          "buiseness"
        ]
      },
      "businesses_UpdateBusinessDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Microsoft"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "postalCode": {
            "type": "string",
            "example": "12312312"
          },
          "website": {
            "type": "string",
            "example": "www.xyz.com"
          },
          "address": {
            "type": "string",
            "example": "street adress"
          },
          "state": {
            "type": "string",
            "example": "new york"
          },
          "city": {
            "type": "string",
            "example": "new york"
          },
          "country": {
            "type": "string",
            "example": "us"
          },
          "description": {
            "type": "string",
            "example": "business description"
          }
        }
      },
      "businesses_DeleteBusinessResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success value",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "businesses_GetBusinessByIdResponseDto": {
        "type": "object",
        "properties": {
          "business": {
            "description": "Business Response",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_BusinessDto"
              }
            ]
          }
        },
        "required": [
          "business"
        ]
      },
      "calendars_GroupDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "name": {
            "type": "string",
            "example": "group a"
          },
          "description": {
            "type": "string",
            "example": "group description"
          },
          "slug": {
            "type": "string",
            "example": "15-mins"
          },
          "isActive": {
            "type": "boolean",
            "example": true
          },
          "id": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          }
        },
        "required": [
          "locationId",
          "name",
          "description",
          "slug"
        ]
      },
      "calendars_AllGroupsSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_GroupDTO"
            }
          }
        }
      },
      "calendars_ValidateGroupSlugPostBody": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "slug": {
            "type": "string",
            "description": "Slug",
            "example": "calendar-1"
          }
        },
        "required": [
          "locationId",
          "slug"
        ]
      },
      "calendars_ValidateGroupSlugSuccessResponseDTO": {
        "type": "object",
        "properties": {
          "available": {
            "type": "boolean"
          }
        },
        "required": [
          "available"
        ]
      },
      "calendars_GroupCreateDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "name": {
            "type": "string",
            "example": "group a"
          },
          "description": {
            "type": "string",
            "example": "group description"
          },
          "slug": {
            "type": "string",
            "example": "15-mins"
          },
          "isActive": {
            "type": "boolean",
            "example": true
          }
        },
        "required": [
          "locationId",
          "name",
          "description",
          "slug"
        ]
      },
      "calendars_GroupCreateSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "group": {
            "$ref": "#/components/schemas/calendars_GroupDTO"
          }
        }
      },
      "calendars_GroupSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": "true"
          }
        }
      },
      "calendars_GroupStatusUpdateParams": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Is Active?",
            "example": true
          }
        },
        "required": [
          "isActive"
        ]
      },
      "calendars_GroupUpdateDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "group a"
          },
          "description": {
            "type": "string",
            "example": "group description"
          },
          "slug": {
            "type": "string",
            "example": "15-mins"
          }
        },
        "required": [
          "name",
          "description",
          "slug"
        ]
      },
      "calendars_AppointmentCreateSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "meetingLocationType": {
            "type": "string",
            "description": "Meeting location type. \n- If `address` is provided in the request body, the `meetingLocationType` defaults to **custom**.",
            "example": "custom",
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "ms_teams",
              "google"
            ]
          },
          "meetingLocationId": {
            "type": "string",
            "description": "The unique identifier for the meeting location.\n- This value can be found in `calendar.locationConfigurations`or `calendar.teamMembers[].locationConfigurations`",
            "example": "custom_0",
            "default": "default"
          },
          "overrideLocationConfig": {
            "type": "boolean",
            "description": "Flag to override location config\n- **false** - If only `meetingLocationId` is provided\n- **true** - If only `meetingLocationType` is provided\n",
            "example": true
          },
          "appointmentStatus": {
            "type": "string",
            "example": "confirmed",
            "enum": [
              "new",
              "confirmed",
              "cancelled",
              "showed",
              "noshow",
              "invalid"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "description": {
            "type": "string",
            "description": "Appointment Description",
            "example": "Booking a call to discuss the project"
          },
          "address": {
            "type": "string",
            "description": "Appointment Address",
            "example": "Zoom"
          },
          "ignoreDateRange": {
            "type": "boolean",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "example": false
          },
          "toNotify": {
            "type": "boolean",
            "description": "If set to false, the automations will not run",
            "example": false
          },
          "ignoreFreeSlotValidation": {
            "type": "boolean",
            "description": "If true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)",
            "example": true
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar Id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        },
        "required": [
          "calendarId",
          "locationId",
          "contactId",
          "startTime"
        ]
      },
      "calendars_AppointmentSchemaResponse": {
        "type": "object",
        "properties": {
          "calendarId": {
            "type": "string",
            "description": "Calendar Id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "meetingLocationType": {
            "type": "string",
            "description": "Meeting Location Type",
            "example": "custom",
            "default": "default"
          },
          "appointmentStatus": {
            "type": "string",
            "example": "confirmed",
            "enum": [
              "new",
              "confirmed",
              "cancelled",
              "showed",
              "noshow",
              "invalid",
              "active",
              "completed"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "address": {
            "type": "string",
            "description": "Appointment Address",
            "example": "Zoom"
          },
          "isRecurring": {
            "type": "boolean",
            "description": "true if the event is recurring otherwise false",
            "example": "true"
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "id": {
            "type": "string",
            "description": "Id",
            "example": "0TkCdp9PfvLeWKYRRvIz"
          }
        },
        "required": [
          "calendarId",
          "locationId",
          "contactId",
          "id"
        ]
      },
      "calendars_AppointmentEditSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "meetingLocationType": {
            "type": "string",
            "description": "Meeting location type. \n- If `address` is provided in the request body, the `meetingLocationType` defaults to **custom**.",
            "example": "custom",
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "ms_teams",
              "google"
            ]
          },
          "meetingLocationId": {
            "type": "string",
            "description": "The unique identifier for the meeting location.\n- This value can be found in `calendar.locationConfigurations`or `calendar.teamMembers[].locationConfigurations`",
            "example": "custom_0",
            "default": "default"
          },
          "overrideLocationConfig": {
            "type": "boolean",
            "description": "Flag to override location config\n- **false** - If only `meetingLocationId` is provided\n- **true** - If only `meetingLocationType` is provided\n",
            "example": true
          },
          "appointmentStatus": {
            "type": "string",
            "example": "confirmed",
            "enum": [
              "new",
              "confirmed",
              "cancelled",
              "showed",
              "noshow",
              "invalid"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "description": {
            "type": "string",
            "description": "Appointment Description",
            "example": "Booking a call to discuss the project"
          },
          "address": {
            "type": "string",
            "description": "Appointment Address",
            "example": "Zoom"
          },
          "ignoreDateRange": {
            "type": "boolean",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "example": false
          },
          "toNotify": {
            "type": "boolean",
            "description": "If set to false, the automations will not run",
            "example": false
          },
          "ignoreFreeSlotValidation": {
            "type": "boolean",
            "description": "If true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)",
            "example": true
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar Id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        }
      },
      "calendars_CreatedOrUpdatedBy": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "The ID of the user who created or updated the appointment"
          },
          "source": {
            "type": "string",
            "description": "The source of the appointment"
          }
        },
        "required": [
          "source"
        ]
      },
      "calendars_CalendarEventDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Event Id or Instance id for a recurring event",
            "examples": [
              "ocQHyuzHvysMo5N5VsXc",
              "ocQHyuzHvysMo5N5VsXc_1729821600000_1800"
            ]
          },
          "address": {
            "type": "string",
            "description": "Calendar Event address",
            "example": "https://meet.google.com/yqp-gogr-wve"
          },
          "title": {
            "type": "string",
            "description": "Calendar Event title",
            "example": "Appointment with CRM Dev team"
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar ID",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "groupId": {
            "type": "string",
            "description": "Group ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "appointmentStatus": {
            "type": "string",
            "description": "Appointment Status",
            "example": "confirmed"
          },
          "assignedUserId": {
            "type": "string",
            "description": "AssignedUser - the primary owner of an appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "users": {
            "description": "Users - the secondary owners of an appointment.",
            "example": [
              "YlWd2wuCAZQzh2cH1fVZ",
              "9NkT25Vor1v4aQatFsv2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string",
            "description": "Notes",
            "example": "Some dummy note"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Some dummy description"
          },
          "isRecurring": {
            "type": "boolean",
            "description": "true if the event is recurring otherwise false",
            "example": "true"
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event.",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "startTime": {
            "type": "object",
            "description": "Start Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "endTime": {
            "type": "object",
            "description": "End Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "dateAdded": {
            "type": "object",
            "description": "Date Added",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "dateUpdated": {
            "type": "object",
            "description": "Date Updated",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "assignedResources": {
            "description": "Ids of associated resources rooms and/or equipments",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdBy": {
            "description": "Appointment booked by metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_CreatedOrUpdatedBy"
              }
            ]
          },
          "masterEventId": {
            "type": "string",
            "description": "Master event id for a recurring instance",
            "example": "ocWd2wuBGAQzh2cH1fSZ"
          }
        },
        "required": [
          "id",
          "title",
          "calendarId",
          "locationId",
          "contactId",
          "groupId",
          "appointmentStatus",
          "assignedUserId",
          "users",
          "startTime",
          "endTime",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "calendars_GetCalendarEventsSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_CalendarEventDTO"
            }
          }
        }
      },
      "calendars_BlockSlotCreateRequestDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "calendarId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "assignedUserId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        },
        "required": [
          "calendarId",
          "locationId"
        ]
      },
      "calendars_BlockedSlotSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "0TkCdp9PfvLeWKYRRvIz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "My event"
          },
          "startTime": {
            "type": "object",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "object",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          }
        },
        "required": [
          "id",
          "locationId",
          "title",
          "startTime",
          "endTime"
        ]
      },
      "calendars_BlockSlotEditRequestDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "calendarId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "assignedUserId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        },
        "required": [
          "calendarId",
          "locationId"
        ]
      },
      "calendars_SlotsSchema": {
        "type": "object",
        "properties": {
          "slots": {
            "example": [
              "2024-10-28T10:00:00-05:00",
              "2024-10-28T11:00:00-05:00"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "slots"
        ]
      },
      "calendars_CalendarNotification": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Calendar Notification",
            "example": "email",
            "enum": [
              "email"
            ],
            "default": "email"
          },
          "shouldSendToContact": {
            "type": "boolean"
          },
          "shouldSendToGuest": {
            "type": "boolean"
          },
          "shouldSendToUser": {
            "type": "boolean"
          },
          "shouldSendToSelectedUsers": {
            "type": "boolean"
          },
          "selectedUsers": {
            "type": "string",
            "description": "Comma separated emails",
            "example": "user1@testemail.com,user2@testemail.com"
          }
        },
        "required": [
          "shouldSendToContact",
          "shouldSendToGuest",
          "shouldSendToUser",
          "shouldSendToSelectedUsers",
          "selectedUsers"
        ]
      },
      "calendars_LocationConfiguration": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type",
            "example": "custom",
            "enum": [
              "custom",
              "zoom_conference",
              "google_conference",
              "inbound_call",
              "outbound_call",
              "physical",
              "booker",
              "ms_teams_conference"
            ]
          },
          "location": {
            "type": "string",
            "description": "Address for meeting location. Not applicable on \"zoom_conference\", \"google_conference\" and \"ms_teams_conference\" kind",
            "examples": [
              "+14455550132",
              "http://meet.google.com/your-meeting-location"
            ]
          }
        },
        "required": [
          "kind"
        ]
      },
      "calendars_TeamMember": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "priority": {
            "type": "number",
            "default": 0.5,
            "enum": [
              0,
              0.5,
              1
            ]
          },
          "meetingLocationType": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.kind` instead.",
            "deprecated": true,
            "example": "custom",
            "default": "custom",
            "readOnly": true,
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "teams",
              "booker"
            ]
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Marks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary."
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar.\n- *Multiple locations are allowed only when one team member is selected.*\n- *For **Class booking** and **Collective** calendars, only one location configuration is allowed for each team member.*",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_LocationConfiguration"
            }
          }
        },
        "required": [
          "userId"
        ]
      },
      "calendars_Hour": {
        "type": "object",
        "properties": {
          "openHour": {
            "type": "number",
            "minimum": 0,
            "maximum": 23
          },
          "openMinute": {
            "type": "number",
            "minimum": 0,
            "maximum": 60
          },
          "closeHour": {
            "type": "number",
            "minimum": 0,
            "maximum": 23
          },
          "closeMinute": {
            "type": "number",
            "minimum": 0,
            "maximum": 60
          }
        },
        "required": [
          "openHour",
          "openMinute",
          "closeHour",
          "closeMinute"
        ]
      },
      "calendars_OpenHour": {
        "type": "object",
        "properties": {
          "daysOfTheWeek": {
            "type": "array",
            "items": {
              "type": "number",
              "maximum": 6,
              "minimum": 0
            }
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_Hour"
            }
          }
        },
        "required": [
          "daysOfTheWeek",
          "hours"
        ]
      },
      "calendars_Recurring": {
        "type": "object",
        "properties": {
          "freq": {
            "type": "string",
            "enum": [
              "DAILY",
              "WEEKLY",
              "MONTHLY"
            ]
          },
          "count": {
            "type": "number",
            "description": "Number of recurrences",
            "maximum": 24
          },
          "bookingOption": {
            "type": "string",
            "description": "This setting contols what to do incase a recurring slot is unavailable",
            "enum": [
              "skip",
              "continue",
              "book_next"
            ]
          },
          "bookingOverlapDefaultStatus": {
            "type": "string",
            "description": "This setting contols what to do incase a recurring slot is unavailable",
            "enum": [
              "confirmed",
              "new"
            ]
          }
        }
      },
      "calendars_Availability": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Formulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.",
            "example": "2023-09-24T00:00:00.000Z"
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_Hour"
            }
          },
          "deleted": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "date",
          "hours"
        ]
      },
      "calendars_LookBusyConfiguration": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Apply Look Busy",
            "example": true,
            "default": false
          },
          "LookBusyPercentage": {
            "type": "number",
            "description": "Percentage of slots that will be hidden"
          }
        },
        "required": [
          "enabled",
          "LookBusyPercentage"
        ]
      },
      "calendars_CalendarCreateDTO": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Should the created calendar be active or draft",
            "default": true
          },
          "notifications": {
            "description": "🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_CalendarNotification"
            }
          },
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "groupId": {
            "type": "string",
            "description": "Group Id",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "teamMembers": {
            "description": "Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_TeamMember"
            }
          },
          "eventType": {
            "type": "string",
            "enum": [
              "RoundRobin_OptimizeForAvailability",
              "RoundRobin_OptimizeForEqualDistribution"
            ],
            "default": "RoundRobin_OptimizeForAvailability"
          },
          "name": {
            "type": "string",
            "example": "test calendar"
          },
          "description": {
            "type": "string",
            "example": "this is used for testing"
          },
          "slug": {
            "type": "string",
            "example": "test1"
          },
          "widgetSlug": {
            "type": "string",
            "example": "test1"
          },
          "calendarType": {
            "type": "string",
            "enum": [
              "round_robin",
              "event",
              "class_booking",
              "collective",
              "service_booking",
              "personal"
            ]
          },
          "widgetType": {
            "type": "string",
            "description": "Calendar widget type. Choose \"default\" for \"neo\" and \"classic\" for \"classic\" layout.",
            "example": "classic",
            "enum": [
              "default",
              "classic"
            ],
            "default": "classic"
          },
          "eventTitle": {
            "type": "string",
            "default": "{{contact.name}}"
          },
          "eventColor": {
            "type": "string",
            "default": "#039be5"
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_LocationConfiguration"
            }
          },
          "slotDuration": {
            "type": "number",
            "description": "This controls the duration of the meeting",
            "default": 30
          },
          "slotDurationUnit": {
            "type": "string",
            "description": "Unit for slot duration.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotInterval": {
            "type": "number",
            "description": "Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.",
            "default": 30
          },
          "slotIntervalUnit": {
            "type": "string",
            "description": "Unit for slot interval.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotBuffer": {
            "type": "number",
            "description": "Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up"
          },
          "slotBufferUnit": {
            "type": "string",
            "description": "Unit for slot buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready"
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Unit for pre-buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "appoinmentPerSlot": {
            "type": "number",
            "default": 1,
            "description": "Maximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar."
          },
          "appoinmentPerDay": {
            "type": "number",
            "description": "Number of appointments that can be booked for a given day"
          },
          "allowBookingAfter": {
            "type": "number",
            "description": "Minimum scheduling notice for events"
          },
          "allowBookingAfterUnit": {
            "type": "string",
            "description": "Unit for minimum scheduling notice",
            "enum": [
              "hours",
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "allowBookingFor": {
            "type": "number",
            "description": "Minimum number of days/weeks/months for which to allow booking events"
          },
          "allowBookingForUnit": {
            "type": "string",
            "description": "Unit for controlling the duration for which booking would be allowed for",
            "enum": [
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "openHours": {
            "description": "This is only to set the standard availability. For custom availability, use the availabilities property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_OpenHour"
            }
          },
          "enableRecurring": {
            "type": "boolean",
            "description": "Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this",
            "default": false
          },
          "recurring": {
            "$ref": "#/components/schemas/calendars_Recurring"
          },
          "formId": {
            "type": "string"
          },
          "stickyContact": {
            "type": "boolean"
          },
          "isLivePaymentMode": {
            "type": "boolean"
          },
          "autoConfirm": {
            "type": "boolean",
            "default": true
          },
          "shouldSendAlertEmailsToAssignedMember": {
            "type": "boolean"
          },
          "alertEmail": {
            "type": "string"
          },
          "googleInvitationEmails": {
            "type": "boolean",
            "default": false
          },
          "allowReschedule": {
            "type": "boolean",
            "default": true
          },
          "allowCancellation": {
            "type": "boolean",
            "default": true
          },
          "shouldAssignContactToTeamMember": {
            "type": "boolean"
          },
          "shouldSkipAssigningContactForExisting": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "pixelId": {
            "type": "string"
          },
          "formSubmitType": {
            "type": "string",
            "default": "ThankYouMessage",
            "enum": [
              "RedirectURL",
              "ThankYouMessage"
            ]
          },
          "formSubmitRedirectURL": {
            "type": "string"
          },
          "formSubmitThanksMessage": {
            "type": "string"
          },
          "availabilityType": {
            "type": "number",
            "description": "Determines which availability type to consider:\n- **1**: Only custom availabilities will be used.\n- **0**: Only open hours will be used.\n- **null**: Both custom availabilities and open hours will be considered.",
            "enum": [
              0,
              1
            ]
          },
          "availabilities": {
            "description": "This is only to set the custom availability. For standard availability, use the openHours property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_Availability"
            }
          },
          "guestType": {
            "type": "string",
            "enum": [
              "count_only",
              "collect_detail"
            ]
          },
          "consentLabel": {
            "type": "string"
          },
          "calendarCoverImage": {
            "type": "string",
            "example": "https://path-to-image.com"
          },
          "lookBusyConfig": {
            "description": "Look Busy Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_LookBusyConfiguration"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "calendars_LocationConfigurationResponse": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type",
            "example": "custom",
            "enum": [
              "custom",
              "zoom_conference",
              "google_conference",
              "inbound_call",
              "outbound_call",
              "physical",
              "booker",
              "ms_teams_conference"
            ]
          },
          "location": {
            "type": "string",
            "description": "Address for meeting location. Not applicable on \"zoom_conference\", \"google_conference\" and \"ms_teams_conference\" kind",
            "examples": [
              "+14455550132",
              "http://meet.google.com/your-meeting-location"
            ]
          },
          "meetingId": {
            "type": "string",
            "description": "Unique ID used to select a specific meeting location",
            "example": "my_conference_id"
          }
        },
        "required": [
          "kind"
        ]
      },
      "calendars_TeamMemberResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "priority": {
            "type": "number",
            "default": 0.5,
            "enum": [
              0,
              0.5,
              1
            ]
          },
          "meetingLocationType": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.kind` instead.",
            "deprecated": true,
            "example": "custom",
            "default": "custom",
            "readOnly": true,
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "teams",
              "booker"
            ]
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Marks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary."
          },
          "locationConfigurations": {
            "description": "Meeting location configurations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_LocationConfigurationResponse"
            }
          }
        },
        "required": [
          "userId"
        ]
      },
      "calendars_CalendarDTO": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Should the created calendar be active or draft",
            "default": true
          },
          "notifications": {
            "description": "🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_CalendarNotification"
            }
          },
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "groupId": {
            "type": "string",
            "description": "Group Id",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "teamMembers": {
            "description": "Team members are for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_TeamMemberResponse"
            }
          },
          "eventType": {
            "type": "string",
            "enum": [
              "RoundRobin_OptimizeForAvailability",
              "RoundRobin_OptimizeForEqualDistribution"
            ],
            "default": "RoundRobin_OptimizeForAvailability"
          },
          "name": {
            "type": "string",
            "example": "test calendar"
          },
          "description": {
            "type": "string",
            "example": "this is used for testing"
          },
          "slug": {
            "type": "string",
            "example": "test1"
          },
          "widgetSlug": {
            "type": "string",
            "example": "test1"
          },
          "calendarType": {
            "type": "string",
            "enum": [
              "round_robin",
              "event",
              "class_booking",
              "collective",
              "service_booking",
              "personal"
            ]
          },
          "widgetType": {
            "type": "string",
            "description": "Calendar widget type. Choose \"default\" for \"neo\" and \"classic\" for \"classic\" layout.",
            "example": "classic",
            "enum": [
              "default",
              "classic"
            ],
            "default": "classic"
          },
          "eventTitle": {
            "type": "string",
            "default": "{{contact.name}}"
          },
          "eventColor": {
            "type": "string",
            "default": "#039be5"
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_LocationConfigurationResponse"
            }
          },
          "slotDuration": {
            "type": "number",
            "description": "This controls the duration of the meeting",
            "default": 30
          },
          "slotDurationUnit": {
            "type": "string",
            "description": "Unit for slot duration.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotInterval": {
            "type": "number",
            "description": "Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.",
            "default": 30
          },
          "slotIntervalUnit": {
            "type": "string",
            "description": "Unit for slot interval.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotBuffer": {
            "type": "number",
            "description": "Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up"
          },
          "slotBufferUnit": {
            "type": "string",
            "description": "Unit for slot buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready"
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Unit for pre-buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "appoinmentPerSlot": {
            "type": "number",
            "default": 1,
            "description": "Maximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar."
          },
          "appoinmentPerDay": {
            "type": "number",
            "description": "Number of appointments that can be booked for a given day"
          },
          "allowBookingAfter": {
            "type": "number",
            "description": "Minimum scheduling notice for events"
          },
          "allowBookingAfterUnit": {
            "type": "string",
            "description": "Unit for minimum scheduling notice",
            "enum": [
              "hours",
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "allowBookingFor": {
            "type": "number",
            "description": "Minimum number of days/weeks/months for which to allow booking events"
          },
          "allowBookingForUnit": {
            "type": "string",
            "description": "Unit for controlling the duration for which booking would be allowed for",
            "enum": [
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "openHours": {
            "description": "This is only to set the standard availability. For custom availability, use the availabilities property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_OpenHour"
            }
          },
          "enableRecurring": {
            "type": "boolean",
            "description": "Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this",
            "default": false
          },
          "recurring": {
            "$ref": "#/components/schemas/calendars_Recurring"
          },
          "formId": {
            "type": "string"
          },
          "stickyContact": {
            "type": "boolean"
          },
          "isLivePaymentMode": {
            "type": "boolean"
          },
          "autoConfirm": {
            "type": "boolean",
            "default": true
          },
          "shouldSendAlertEmailsToAssignedMember": {
            "type": "boolean"
          },
          "alertEmail": {
            "type": "string"
          },
          "googleInvitationEmails": {
            "type": "boolean",
            "default": false
          },
          "allowReschedule": {
            "type": "boolean",
            "default": true
          },
          "allowCancellation": {
            "type": "boolean",
            "default": true
          },
          "shouldAssignContactToTeamMember": {
            "type": "boolean"
          },
          "shouldSkipAssigningContactForExisting": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "pixelId": {
            "type": "string"
          },
          "formSubmitType": {
            "type": "string",
            "default": "ThankYouMessage",
            "enum": [
              "RedirectURL",
              "ThankYouMessage"
            ]
          },
          "formSubmitRedirectURL": {
            "type": "string"
          },
          "formSubmitThanksMessage": {
            "type": "string"
          },
          "availabilityType": {
            "type": "number",
            "description": "Determines which availability type to consider:\n- **1**: Only custom availabilities will be used.\n- **0**: Only open hours will be used.\n- **null**: Both custom availabilities and open hours will be considered.",
            "enum": [
              0,
              1
            ]
          },
          "availabilities": {
            "description": "This is only to set the custom availability. For standard availability, use the openHours property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_Availability"
            }
          },
          "guestType": {
            "type": "string",
            "enum": [
              "count_only",
              "collect_detail"
            ]
          },
          "consentLabel": {
            "type": "string"
          },
          "calendarCoverImage": {
            "type": "string",
            "example": "https://path-to-image.com"
          },
          "lookBusyConfig": {
            "description": "Look Busy Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_LookBusyConfiguration"
              }
            ]
          },
          "id": {
            "type": "string",
            "example": "0TkCdp9PfvLeWKYRRvIz"
          }
        },
        "required": [
          "locationId",
          "name",
          "id"
        ]
      },
      "calendars_CalendarsGetSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "calendars": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_CalendarDTO"
            }
          }
        }
      },
      "calendars_CalendarByIdSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "calendar": {
            "$ref": "#/components/schemas/calendars_CalendarDTO"
          }
        },
        "required": [
          "calendar"
        ]
      },
      "calendars_UpdateAvailability": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Formulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.",
            "example": "2023-09-24T00:00:00.000Z"
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_Hour"
            }
          },
          "deleted": {
            "type": "boolean",
            "default": false
          },
          "id": {
            "type": "string",
            "description": "The ID of the custom availability object. It is required while updating or deleting the existing custom date availability"
          }
        },
        "required": [
          "date",
          "hours"
        ]
      },
      "calendars_CalendarUpdateDTO": {
        "type": "object",
        "properties": {
          "notifications": {
            "description": "🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_CalendarNotification"
            }
          },
          "groupId": {
            "type": "string",
            "description": "Group Id",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "teamMembers": {
            "description": "Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_TeamMember"
            }
          },
          "eventType": {
            "type": "string",
            "enum": [
              "RoundRobin_OptimizeForAvailability",
              "RoundRobin_OptimizeForEqualDistribution"
            ]
          },
          "name": {
            "type": "string",
            "example": "test calendar"
          },
          "description": {
            "type": "string",
            "example": "this is used for testing"
          },
          "slug": {
            "type": "string",
            "example": "test1"
          },
          "widgetSlug": {
            "type": "string",
            "example": "test1"
          },
          "widgetType": {
            "type": "string",
            "description": "Calendar widget type. Choose \"default\" for \"neo\" and \"classic\" for \"classic\" layout.",
            "example": "classic",
            "enum": [
              "default",
              "classic"
            ],
            "default": "classic"
          },
          "eventTitle": {
            "type": "string"
          },
          "eventColor": {
            "type": "string",
            "default": "#039be5"
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_LocationConfiguration"
            }
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "slotDuration": {
            "type": "number",
            "description": "This controls the duration of the meeting",
            "default": 30
          },
          "slotDurationUnit": {
            "type": "string",
            "description": "Unit for slot duration.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Unit for pre-buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotInterval": {
            "type": "number",
            "description": "Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.",
            "default": 30
          },
          "slotIntervalUnit": {
            "type": "string",
            "description": "Unit for slot interval.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotBuffer": {
            "type": "number",
            "description": "Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up"
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready"
          },
          "appoinmentPerSlot": {
            "type": "number"
          },
          "appoinmentPerDay": {
            "type": "number",
            "description": "Number of appointments that can be booked for a given day"
          },
          "allowBookingAfter": {
            "type": "number",
            "description": "Minimum scheduling notice for events"
          },
          "allowBookingAfterUnit": {
            "type": "string",
            "description": "Unit for minimum scheduling notice",
            "enum": [
              "hours",
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "allowBookingFor": {
            "type": "number",
            "description": "Minimum number of days/weeks/months for which to allow booking events"
          },
          "allowBookingForUnit": {
            "type": "string",
            "description": "Unit for controlling the duration for which booking would be allowed for",
            "enum": [
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "openHours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_OpenHour"
            }
          },
          "enableRecurring": {
            "type": "boolean",
            "description": "Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this",
            "default": false
          },
          "recurring": {
            "$ref": "#/components/schemas/calendars_Recurring"
          },
          "formId": {
            "type": "string"
          },
          "stickyContact": {
            "type": "boolean"
          },
          "isLivePaymentMode": {
            "type": "boolean"
          },
          "autoConfirm": {
            "type": "boolean"
          },
          "shouldSendAlertEmailsToAssignedMember": {
            "type": "boolean"
          },
          "alertEmail": {
            "type": "string"
          },
          "googleInvitationEmails": {
            "type": "boolean"
          },
          "allowReschedule": {
            "type": "boolean"
          },
          "allowCancellation": {
            "type": "boolean"
          },
          "shouldAssignContactToTeamMember": {
            "type": "boolean"
          },
          "shouldSkipAssigningContactForExisting": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "pixelId": {
            "type": "string"
          },
          "formSubmitType": {
            "type": "string",
            "default": "ThankYouMessage",
            "enum": [
              "RedirectURL",
              "ThankYouMessage"
            ]
          },
          "formSubmitRedirectURL": {
            "type": "string"
          },
          "formSubmitThanksMessage": {
            "type": "string"
          },
          "availabilityType": {
            "type": "number",
            "description": "Determines which availability type to consider:\n- **1**: Only custom availabilities will be used.\n- **0**: Only open hours will be used.\n- **null**: Both the custom availabilities and open hours will be considered.",
            "enum": [
              0,
              1
            ]
          },
          "availabilities": {
            "description": "This is only to set the custom availability. For standard availability, use the openHours property",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_UpdateAvailability"
            }
          },
          "guestType": {
            "type": "string",
            "enum": [
              "count_only",
              "collect_detail"
            ]
          },
          "consentLabel": {
            "type": "string"
          },
          "calendarCoverImage": {
            "type": "string"
          },
          "lookBusyConfig": {
            "description": "Look Busy Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_LookBusyConfiguration"
              }
            ]
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "calendars_CalendarDeleteSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "calendars_GetCalendarEventSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "event": {
            "$ref": "#/components/schemas/calendars_CalendarEventDTO"
          }
        }
      },
      "calendars_DeleteAppointmentSchema": {
        "type": "object",
        "properties": {}
      },
      "calendars_DeleteEventSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "calendars_NoteCreatedBySchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "TUcmRxWr"
          },
          "name": {
            "type": "string",
            "example": "John Doe"
          }
        }
      },
      "calendars_GetNoteSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "HGPcayliwcdoUFzvbTok"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum"
          },
          "userId": {
            "type": "string",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "dateAdded": {
            "type": "string",
            "example": "2021-07-08T12:02:11.285Z"
          },
          "contactId": {
            "type": "string",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "createdBy": {
            "$ref": "#/components/schemas/calendars_NoteCreatedBySchema"
          }
        }
      },
      "calendars_GetNotesListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_GetNoteSchema"
            }
          },
          "hasMore": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "calendars_NotesDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "GCs5KuzPqTls7vWclkEV"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum",
            "description": "Note body",
            "maxLength": 5000
          }
        },
        "required": [
          "body"
        ]
      },
      "calendars_GetCreateUpdateNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "note": {
            "$ref": "#/components/schemas/calendars_GetNoteSchema"
          }
        }
      },
      "calendars_DeleteNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "calendars_CalendarResourceByIdResponseDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID of the resource"
          },
          "name": {
            "type": "string",
            "description": "Name of the resource",
            "example": "yoga room"
          },
          "resourceType": {
            "type": "string",
            "enum": [
              "equipments",
              "rooms"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the resource is active"
          },
          "description": {
            "type": "string",
            "description": "Description of the resource"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the resource"
          },
          "outOfService": {
            "type": "number",
            "description": "Indicates if the resource is out of service",
            "example": 0
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the resource",
            "example": 85
          },
          "calendarIds": {
            "description": "Calendar IDs",
            "example": [
              "Jsj0xnlDDjw0SuvX1J13",
              "oCM5feFC86FAAbcO7lJK"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "resourceType",
          "isActive",
          "calendarIds"
        ]
      },
      "calendars_UpdateCalendarResourceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the equipment."
          },
          "outOfService": {
            "type": "number",
            "description": "Quantity of the out of service equipment."
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the room."
          },
          "calendarIds": {
            "description": "Service calendar IDs to be mapped with the resource.\n\n    One equipment can only be mapped with one service calendar.\n    \nOne room can be mapped with multiple service calendars.",
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "calendars_CalendarResourceResponseDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID of the resource"
          },
          "name": {
            "type": "string",
            "description": "Name of the resource",
            "example": "yoga room"
          },
          "resourceType": {
            "type": "string",
            "enum": [
              "equipments",
              "rooms"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the resource is active"
          },
          "description": {
            "type": "string",
            "description": "Description of the resource"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the resource"
          },
          "outOfService": {
            "type": "number",
            "description": "Indicates if the resource is out of service",
            "example": 0
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the resource",
            "example": 85
          }
        },
        "required": [
          "locationId",
          "name",
          "resourceType",
          "isActive"
        ]
      },
      "calendars_ResourceDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": "true"
          }
        }
      },
      "calendars_CreateCalendarResourceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the equipment."
          },
          "outOfService": {
            "type": "number",
            "description": "Quantity of the out of service equipment."
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the room."
          },
          "calendarIds": {
            "description": "Service calendar IDs to be mapped with the resource.\n\n    One equipment can only be mapped with one service calendar.\n    \nOne room can be mapped with multiple service calendars.",
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "description",
          "quantity",
          "outOfService",
          "capacity",
          "calendarIds"
        ]
      },
      "calendars_SchedulesDTO": {
        "type": "object",
        "properties": {
          "timeOffset": {
            "type": "number"
          },
          "unit": {
            "type": "string"
          }
        }
      },
      "calendars_CalendarNotificationResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Notification ID"
          },
          "receiverType": {
            "type": "string",
            "example": "contact",
            "enum": [
              "contact",
              "guest",
              "assignedUser",
              "emails",
              "phoneNumbers",
              "business"
            ]
          },
          "additionalEmailIds": {
            "example": [
              "example1@email.com",
              "example2@email.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalPhoneNumbers": {
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "type": "string",
            "example": "email",
            "enum": [
              "email",
              "inApp",
              "sms",
              "whatsapp"
            ]
          },
          "notificationType": {
            "type": "string",
            "example": "confirmation",
            "enum": [
              "booked",
              "confirmation",
              "cancellation",
              "reminder",
              "followup",
              "reschedule"
            ]
          },
          "isActive": {
            "type": "boolean",
            "example": true
          },
          "additionalWhatsappNumbers": {
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "templateId": {
            "type": "string",
            "example": "0as9d8as0d"
          },
          "body": {
            "type": "string",
            "example": "This is a test notification"
          },
          "subject": {
            "type": "string",
            "example": "Test Notification"
          },
          "afterTime": {
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_SchedulesDTO"
            }
          },
          "beforeTime": {
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_SchedulesDTO"
            }
          },
          "selectedUsers": {
            "example": [
              "user1",
              "user2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "calendars_CreateCalendarNotificationDTO": {
        "type": "object",
        "properties": {
          "receiverType": {
            "type": "string",
            "description": "notification recipient type",
            "enum": [
              "contact",
              "guest",
              "assignedUser",
              "emails",
              "phoneNumbers",
              "business"
            ]
          },
          "channel": {
            "type": "string",
            "description": "Notification channel",
            "enum": [
              "email",
              "inApp",
              "sms",
              "whatsapp"
            ]
          },
          "notificationType": {
            "type": "string",
            "description": "Notification type",
            "enum": [
              "booked",
              "confirmation",
              "cancellation",
              "reminder",
              "followup",
              "reschedule"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Is the notification active",
            "default": true
          },
          "templateId": {
            "type": "string",
            "description": "Template ID for email notification. Not necessary for in-App notification"
          },
          "body": {
            "type": "string",
            "description": "Body  for email notification. Not necessary for in-App notification"
          },
          "subject": {
            "type": "string",
            "description": "Subject  for email notification. Not necessary for in-App notification"
          },
          "afterTime": {
            "description": "Specifies the time after which the follow-up notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_SchedulesDTO"
            }
          },
          "beforeTime": {
            "description": "Specifies the time before which the reminder notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_SchedulesDTO"
            }
          },
          "additionalEmailIds": {
            "description": "Additional email addresses to receive notifications.",
            "example": [
              "example1@email.com",
              "example2@email.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalPhoneNumbers": {
            "description": "Additional phone numbers to receive notifications.",
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedUsers": {
            "description": "Selected users for in-App and business email notifications. Supports user IDs and special keyword \"sub_account_admin\"",
            "example": [
              "userId1",
              "userId2",
              "sub_account_admin"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fromAddress": {
            "type": "string",
            "description": "from address for email notification"
          },
          "fromName": {
            "type": "string",
            "description": "from name for email/sms notification"
          },
          "fromNumber": {
            "type": "string",
            "description": "from number for sms notification"
          }
        },
        "required": [
          "receiverType",
          "channel",
          "notificationType"
        ]
      },
      "calendars_UpdateCalendarNotificationsDTO": {
        "type": "object",
        "properties": {
          "receiverType": {
            "type": "string",
            "description": "Notification recipient type",
            "enum": [
              "contact",
              "guest",
              "assignedUser",
              "emails",
              "phoneNumbers",
              "business"
            ]
          },
          "additionalEmailIds": {
            "description": "Additional email addresses to receive notifications.",
            "example": [
              "example1@email.com",
              "example2@email.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalPhoneNumbers": {
            "description": "Additional phone numbers to receive notifications.",
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedUsers": {
            "description": "Selected users for in-App and business email notifications. Supports user IDs and special keyword \"sub_account_admin\"",
            "example": [
              "userId1",
              "userId2",
              "sub_account_admin"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "type": "string",
            "description": "Notification channel",
            "enum": [
              "email",
              "inApp",
              "sms",
              "whatsapp"
            ]
          },
          "notificationType": {
            "type": "string",
            "description": "Notification type",
            "enum": [
              "booked",
              "confirmation",
              "cancellation",
              "reminder",
              "followup",
              "reschedule"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Is the notification active",
            "default": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Marks the notification as deleted (soft delete)",
            "default": false
          },
          "templateId": {
            "type": "string",
            "description": "Template ID for email notification"
          },
          "body": {
            "type": "string",
            "description": "Body  for email notification. Not necessary for in-App notification"
          },
          "subject": {
            "type": "string",
            "description": "Subject  for email notification. Not necessary for in-App notification"
          },
          "afterTime": {
            "description": "Specifies the time after which the follow-up notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_SchedulesDTO"
            }
          },
          "beforeTime": {
            "description": "Specifies the time before which the reminder notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_SchedulesDTO"
            }
          },
          "fromAddress": {
            "type": "string",
            "description": "From address for email notification"
          },
          "fromNumber": {
            "type": "string",
            "description": "from number for sms notification"
          },
          "fromName": {
            "type": "string",
            "description": "From name for email/sms notification"
          }
        }
      },
      "calendars_CalendarNotificationDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Result of delete/update operation"
          }
        },
        "required": [
          "message"
        ]
      },
      "calendars_ScheduleIntervalDTO": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Start time in HH:MM format (24-hour format)",
            "example": "09:00",
            "pattern": "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"
          },
          "to": {
            "type": "string",
            "description": "End time in HH:MM format (24-hour format)",
            "example": "17:00",
            "pattern": "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"
          }
        },
        "required": [
          "from",
          "to"
        ]
      },
      "calendars_ScheduleRuleDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "wday",
              "date"
            ],
            "description": "Type of schedule rule - weekday (recurring) or date (specific date)",
            "example": "wday"
          },
          "intervals": {
            "description": "Time intervals for the rule (e.g., 9 AM to 5 PM)",
            "example": [
              {
                "from": "09:00",
                "to": "17:00"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_ScheduleIntervalDTO"
            }
          },
          "date": {
            "type": "string",
            "description": "Specific date in YYYY-MM-DD format (only for date-type rules)",
            "example": "2023-04-15",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "day": {
            "type": "string",
            "enum": [
              "sunday",
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday"
            ],
            "description": "Day of week (only for weekday-type rules)",
            "example": "monday"
          }
        },
        "required": [
          "type",
          "intervals"
        ]
      },
      "calendars_ScheduleObjectResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the schedule",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the schedule",
            "example": "Business Hours Schedule"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID where this schedule applies",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "rules": {
            "description": "Schedule rules defining when the schedule is active",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the schedule (IANA timezone identifier)",
            "example": "America/New_York"
          },
          "dateAdded": {
            "type": "string",
            "description": "ISO date string when the schedule was created",
            "example": "2023-01-15T10:30:00.000Z"
          },
          "dateUpdated": {
            "type": "string",
            "description": "ISO date string when the schedule was last updated",
            "example": "2023-01-20T14:45:00.000Z"
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the schedule",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "calendarIds": {
            "description": "Calendar IDs associated with the schedule",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the schedule has been deleted",
            "example": false
          }
        },
        "required": [
          "id",
          "name",
          "locationId",
          "rules",
          "timezone",
          "dateAdded",
          "dateUpdated",
          "userId",
          "deleted"
        ]
      },
      "calendars_GetAllSchedulesResponseDTO": {
        "type": "object",
        "properties": {
          "schedules": {
            "description": "Array of schedules",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_ScheduleObjectResponseDTO"
            }
          }
        },
        "required": [
          "schedules"
        ]
      },
      "calendars_ScheduleResponseDTO": {
        "type": "object",
        "properties": {
          "schedule": {
            "description": "Schedule",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_ScheduleObjectResponseDTO"
              }
            ]
          }
        },
        "required": [
          "schedule"
        ]
      },
      "calendars_CreateScheduleDTO": {
        "type": "object",
        "properties": {
          "rules": {
            "description": "Schedule rules defining when the schedule is active",
            "example": [
              {
                "type": "wday",
                "day": "monday",
                "intervals": [
                  {
                    "from": "09:00",
                    "to": "17:00"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the schedule (IANA timezone identifier)",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID where this schedule applies",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the schedule",
            "example": "Business Hours Schedule"
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the schedule",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "calendarIds": {
            "description": "Calendar IDs associated with the schedule",
            "example": [
              "WvVX9LpvlBO6K506xLbp",
              "XyZ8MnQrStUvWxYzAbCdEf"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "timezone",
          "locationId",
          "name",
          "userId"
        ]
      },
      "calendars_UpdateScheduleDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable name for the schedule",
            "example": "Updated Business Hours"
          },
          "rules": {
            "description": "Updated schedule rules defining when the schedule is active",
            "example": [
              {
                "type": "wday",
                "day": "monday",
                "intervals": [
                  {
                    "from": "08:00",
                    "to": "18:00"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Updated timezone for the schedule (IANA timezone identifier)",
            "example": "America/Los_Angeles",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          }
        }
      },
      "campaigns_campaignsSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "mIVALPYuTD7YjUHnFEx4"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "status": {
            "type": "string",
            "example": "published"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "campaigns_CampaignsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/campaigns_campaignsSchema"
            }
          }
        }
      },
      "companies_IOnboardingDto": {
        "type": "object",
        "properties": {
          "pending": {
            "type": "boolean",
            "example": "true"
          },
          "haveWebsite": {
            "type": "boolean",
            "example": ""
          },
          "websiteUrl": {
            "type": "string",
            "example": ""
          },
          "industryServed": {
            "type": "string",
            "example": ""
          },
          "customerCount": {
            "type": "string",
            "example": ""
          },
          "tools": {
            "example": "",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "type": "boolean",
            "example": ""
          },
          "conversationDemo": {
            "type": "boolean",
            "example": ""
          },
          "locationId": {
            "type": "string",
            "example": ""
          },
          "snapshotId": {
            "type": "string",
            "example": ""
          },
          "planId": {
            "type": "string",
            "description": "Selected agency plan unique plan Id",
            "example": "plan_EOi37NLV12u68i"
          },
          "affiliateSignup": {
            "type": "boolean",
            "description": "Set to true if it is from affiliate",
            "example": true
          },
          "hasJoinedKickoffCall": {
            "type": "boolean",
            "description": "Set to true if user joined onboarding call",
            "example": true
          },
          "kickoffActionTaken": {
            "type": "boolean",
            "description": "Set to true if user joined onboarding call",
            "example": true
          },
          "hasJoinedImplementationCall": {
            "type": "boolean",
            "description": "Set to true if user joined implementation call",
            "example": true
          },
          "version": {
            "type": "string",
            "description": "This helps in A/B tracking of onboarding flow",
            "example": "1"
          },
          "metaData": {
            "type": "object",
            "description": "metaData for onboarding",
            "example": true
          }
        },
        "required": [
          "pending"
        ]
      },
      "companies_GetCompanyByIdSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "seD4PfOuKoVMLkEZqohJ"
          },
          "name": {
            "type": "string",
            "example": "Tesla inc"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "logoUrl": {
            "type": "string",
            "example": "https://firebasestorage.googleapis.com/v0/b/crm-gesvision-staging.appspot.com/o/companyPhotos%2F5DP4iH6HLkQsiKESj6rh.gif?alt=media&token=2aec9720-59a7-46af-a187-d4a2774ee873"
          },
          "phone": {
            "type": "string",
            "example": "+1202-555-0107"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com"
          },
          "domain": {
            "type": "string",
            "example": "https://app.myawesomedomain.com"
          },
          "spareDomain": {
            "type": "string",
            "example": "link.msgsndr.com"
          },
          "privacyPolicy": {
            "type": "string",
            "example": "https://app.crm.gesvision.com/privacy_policy"
          },
          "termsConditions": {
            "type": "string",
            "example": "https://app.crm.gesvision.com/terms-of-service"
          },
          "address": {
            "type": "string",
            "example": "3500 Deer Creek Road"
          },
          "city": {
            "type": "string",
            "example": "Palo Alto"
          },
          "postalCode": {
            "type": "string",
            "example": "94304"
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "state": {
            "type": "string",
            "example": "CA"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central"
          },
          "relationshipNumber": {
            "type": "string",
            "example": "x-xxx-xxx"
          },
          "subdomain": {
            "type": "string",
            "example": "https://app.myawesomedomain.com/subdomain"
          },
          "plan": {
            "type": "number",
            "example": 1
          },
          "currency": {
            "type": "string",
            "example": ""
          },
          "customerType": {
            "type": "string",
            "example": "agency"
          },
          "termsOfServiceVersion": {
            "type": "string",
            "example": "06/01/2022"
          },
          "termsOfServiceAcceptedBy": {
            "type": "string",
            "example": "SDfdf355Dfggdee"
          },
          "twilioTrialMode": {
            "type": "boolean",
            "example": true
          },
          "twilioFreeCredits": {
            "type": "number",
            "example": 100
          },
          "termsOfServiceAcceptedDate": {
            "type": "string",
            "example": ""
          },
          "privacyPolicyVersion": {
            "type": "string",
            "example": "06/01/2022"
          },
          "privacyPolicyAcceptedBy": {
            "type": "string",
            "example": "SDfdf355Dfggdee"
          },
          "privacyPolicyAcceptedDate": {
            "type": "string",
            "example": ""
          },
          "affiliatePolicyVersion": {
            "type": "string",
            "example": "06/01/2022"
          },
          "affiliatePolicyAcceptedBy": {
            "type": "string",
            "example": "SDfdf355Dfggdee"
          },
          "affiliatePolicyAcceptedDate": {
            "type": "string",
            "example": ""
          },
          "isReselling": {
            "type": "boolean",
            "example": true
          },
          "onboardingInfo": {
            "example": "",
            "allOf": [
              {
                "$ref": "#/components/schemas/companies_IOnboardingDto"
              }
            ]
          },
          "upgradeEnabledForClients": {
            "type": "boolean",
            "example": true,
            "description": "Flag to set if upgrade plan is enabled"
          },
          "cancelEnabledForClients": {
            "type": "boolean",
            "example": true,
            "description": "Flag to set if cancel plan is enabled"
          },
          "autoSuspendEnabled": {
            "type": "boolean",
            "example": true,
            "description": "Flag to set if auto suspend is enabled"
          },
          "saasSettings": {
            "type": "object",
            "example": {
              "agencyDashboardVisibleTo": "string",
              "stripeConnectInitiatedBy": "string"
            },
            "description": "Saas Settings"
          },
          "stripeConnectId": {
            "type": "string",
            "example": ""
          },
          "enableDepreciatedFeatures": {
            "type": "boolean",
            "example": true
          },
          "premiumUpgraded": {
            "type": "boolean",
            "description": "If you want to enable / disable Priority Support for any agency. Default value is false.",
            "example": false,
            "default": false
          },
          "status": {
            "type": "string",
            "example": "active-trial"
          },
          "locationCount": {
            "type": "number",
            "example": 10
          },
          "disableEmailService": {
            "type": "boolean",
            "example": false
          },
          "referralId": {
            "type": "string",
            "example": "john-doe-21"
          },
          "isEnterpriseAccount": {
            "type": "boolean",
            "example": true
          },
          "businessNiche": {
            "type": "string",
            "example": "Accounting School",
            "description": "The business niche in which the agency is operating"
          },
          "businessCategory": {
            "type": "string",
            "example": "Automotive",
            "description": "Business category"
          },
          "businessAffinityGroup": {
            "type": "string",
            "example": "Vehicle Dealerships",
            "description": "The affinity group of the agency"
          },
          "isSandboxAccount": {
            "type": "boolean",
            "example": true
          },
          "enableNewSubAccountDefaultData": {
            "type": "boolean",
            "example": false,
            "description": "Flag to determine if new sub-accounts should use default data"
          }
        }
      },
      "companies_GetCompanyByIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "company": {
            "$ref": "#/components/schemas/companies_GetCompanyByIdSchema"
          }
        }
      },
      "contacts_SearchBodyV2DTO": {
        "type": "object",
        "properties": {}
      },
      "contacts_TaskSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "lJpzYrWdpkC2hX6t2yue"
          },
          "title": {
            "type": "string",
            "example": "test"
          },
          "body": {
            "type": "string",
            "example": "testing"
          },
          "assignedTo": {
            "type": "string",
            "example": "tesTUcmRxWrjqzJS8EjkxNKting"
          },
          "dueDate": {
            "type": "string",
            "example": "2021-07-08T02:30:00.000Z"
          },
          "completed": {
            "type": "boolean",
            "example": true
          },
          "contactId": {
            "type": "string",
            "example": "lJpzYrWdpkC2hX6t2yue"
          }
        }
      },
      "contacts_TasksListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_TaskSchema"
            }
          }
        }
      },
      "contacts_TaskByIsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "task": {
            "$ref": "#/components/schemas/contacts_TaskSchema"
          }
        }
      },
      "contacts_CreateTaskParams": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "First Task"
          },
          "body": {
            "type": "string",
            "example": "loram ipsum"
          },
          "dueDate": {
            "type": "string",
            "example": "2020-10-25T11:00:00Z"
          },
          "completed": {
            "type": "boolean",
            "example": true
          },
          "assignedTo": {
            "type": "string",
            "example": "hxHGVRb1YJUscrCB8eXK"
          }
        },
        "required": [
          "title",
          "dueDate",
          "completed"
        ]
      },
      "contacts_UpdateTaskBody": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "First Task"
          },
          "body": {
            "type": "string",
            "example": "loram ipsum"
          },
          "dueDate": {
            "type": "string",
            "example": "2020-10-25T11:00:00Z"
          },
          "completed": {
            "type": "boolean",
            "example": true
          },
          "assignedTo": {
            "type": "string",
            "example": "hxHGVRb1YJUscrCB8eXK"
          }
        }
      },
      "contacts_UpdateTaskStatusParams": {
        "type": "object",
        "properties": {
          "completed": {
            "type": "boolean",
            "example": true
          }
        },
        "required": [
          "completed"
        ]
      },
      "contacts_DeleteTaskSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "contacts_GetEventSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "YS3jaqqeehkR2Is80miy"
          },
          "calendarId": {
            "type": "string",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "status": {
            "type": "string",
            "example": "booked"
          },
          "title": {
            "type": "string",
            "example": "Test"
          },
          "assignedUserId": {
            "type": "string",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "notes": {
            "type": "string",
            "example": "test"
          },
          "startTime": {
            "type": "string",
            "example": "2021-07-16 11:00:00"
          },
          "endTime": {
            "type": "string",
            "example": "2021-07-16 11:30:00"
          },
          "address": {
            "type": "string",
            "example": "Address"
          },
          "locationId": {
            "type": "string",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "contactId": {
            "type": "string",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "groupId": {
            "type": "string",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "appointmentStatus": {
            "type": "string",
            "example": "booked"
          },
          "users": {
            "example": [
              "YlWd2wuCAZQzh2cH1fVZ",
              "YlWd2wuCAZQzh2cH1fVZ"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dateAdded": {
            "type": "string",
            "example": "2021-07-16 11:00:00"
          },
          "dateUpdated": {
            "type": "string",
            "example": "2021-07-16 11:30:00"
          },
          "assignedResources": {
            "example": [
              "YlWd2wuCAZQzh2cH1fVZ",
              "YlWd2wuCAZQzh2cH1fVZ"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_GetEventsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_GetEventSchema"
            }
          }
        }
      },
      "contacts_TagsDTO": {
        "type": "object",
        "properties": {
          "tags": {
            "example": [
              "minim",
              "velit magna"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "contacts_CreateAddTagSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tags": {
            "example": [
              "minim",
              "velit magna"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_CreateDeleteTagSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tags": {
            "example": [
              "minim",
              "velit magna"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_GetNoteSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "HGPcayliwcdoUFzvbTok"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum"
          },
          "userId": {
            "type": "string",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "dateAdded": {
            "type": "string",
            "example": "2021-07-08T12:02:11.285Z"
          },
          "contactId": {
            "type": "string",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "title": {
            "type": "string",
            "example": "Follow-up summary"
          },
          "color": {
            "type": "string",
            "example": "#FFAA00"
          },
          "pinned": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "contacts_GetNotesListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_GetNoteSchema"
            }
          }
        }
      },
      "contacts_NotesDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "GCs5KuzPqTls7vWclkEV"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum"
          },
          "title": {
            "type": "string",
            "example": "Follow-up summary"
          },
          "color": {
            "type": "string",
            "example": "#FFAA00"
          },
          "pinned": {
            "type": "boolean",
            "example": false
          }
        },
        "required": [
          "body"
        ]
      },
      "contacts_GetCreateUpdateNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "note": {
            "$ref": "#/components/schemas/contacts_GetNoteSchema"
          }
        }
      },
      "contacts_UpdateNoteDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "GCs5KuzPqTls7vWclkEV"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum"
          },
          "title": {
            "type": "string",
            "example": "Follow-up summary"
          },
          "color": {
            "type": "string",
            "example": "#FFAA00"
          },
          "pinned": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "contacts_DeleteNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "contacts_UpdateTagsDTO": {
        "type": "object",
        "properties": {
          "contacts": {
            "description": "list of contact ids to be processed",
            "example": [
              "qFSqySFkVvNzOSqgGqFi",
              "abcdef",
              "qFSqySFkVvNzOSqgGqFi",
              "3ualbhnV7j3n3a9r2moD"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "description": "list of tags to be added or removed",
            "example": [
              "tag-1",
              "tag-2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "location id from where the bulk request is executed",
            "example": "asdrwHvLUxlfw5SqKVCN"
          },
          "removeAllTags": {
            "type": "boolean",
            "description": "Option to implement remove all tags. if true, all tags will be removed from the contacts. Can only be used with remove type.",
            "example": "false"
          }
        },
        "required": [
          "contacts",
          "tags",
          "locationId"
        ]
      },
      "contacts_UpdateTagsResponseDTO": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          },
          "errorCount": {
            "type": "number",
            "description": "Number of errors encountered during the operation",
            "example": 0
          },
          "responses": {
            "description": "Responses for each contact processed",
            "example": [
              {
                "contactId": "qFSqySFkVvNzOSqgGqFi",
                "message": "Tags updated",
                "type": "success",
                "oldTags": [
                  "tag-1",
                  "tag-2"
                ],
                "tagsAdded": [],
                "tagsRemoved": []
              },
              {
                "contactId": "abcdef",
                "message": "contact id is not a valid firebase id",
                "type": "error"
              },
              {
                "contactId": "qFSqySFkVvNzOSqgGqFi",
                "message": "contact is deleted",
                "type": "error"
              },
              {
                "contactId": "3ualbhnV7j3n3a9r2moD",
                "message": "contact does not belong to location",
                "type": "error"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "succeded",
          "errorCount",
          "responses"
        ]
      },
      "contacts_ContactsBusinessUpdate": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "PX8m5VwxEbcpFlzYEPVG"
          },
          "ids": {
            "example": [
              "IDqvFHGColiyK6jiatuz",
              "pOC0uJ97VYOKH2m3fkMD"
            ],
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 50
            }
          },
          "businessId": {
            "type": "string",
            "example": "63b7ec34ea409a9a8bd2a4ff",
            "nullable": true
          }
        },
        "required": [
          "locationId",
          "ids",
          "businessId"
        ]
      },
      "contacts_ContactsBulkUpateResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "ids": {
            "example": [
              "pOC0uJ97VYOKH2m3fkMD"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "success",
          "ids"
        ]
      },
      "contacts_DndSettingSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "permanent"
            ]
          },
          "message": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "contacts_DndSettingsSchema": {
        "type": "object",
        "properties": {
          "Call": {
            "$ref": "#/components/schemas/contacts_DndSettingSchema"
          },
          "Email": {
            "$ref": "#/components/schemas/contacts_DndSettingSchema"
          },
          "SMS": {
            "$ref": "#/components/schemas/contacts_DndSettingSchema"
          },
          "WhatsApp": {
            "$ref": "#/components/schemas/contacts_DndSettingSchema"
          },
          "GMB": {
            "$ref": "#/components/schemas/contacts_DndSettingSchema"
          },
          "FB": {
            "$ref": "#/components/schemas/contacts_DndSettingSchema"
          }
        }
      },
      "contacts_CustomFieldSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "MgobCB14YMVKuE4Ka8p1"
          },
          "value": {
            "type": "string",
            "example": "name"
          }
        }
      },
      "contacts_AttributionSource": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "Trigger Link"
          },
          "campaign": {
            "type": "string",
            "nullable": true
          },
          "utmSource": {
            "type": "string",
            "nullable": true
          },
          "utmMedium": {
            "type": "string",
            "nullable": true
          },
          "utmContent": {
            "type": "string",
            "nullable": true
          },
          "referrer": {
            "type": "string",
            "example": "https: //www.google.com",
            "nullable": true
          },
          "campaignId": {
            "type": "string",
            "nullable": true
          },
          "fbclid": {
            "type": "string",
            "nullable": true
          },
          "gclid": {
            "type": "string",
            "example": "CjOKCQjwnNyUBhCZARISAI9AYIFtNnIcWcYGIOQINz_ZoFI5SSLRRugSoPZoiEu27IZBY£1-MAIWmEaAo2VEALW_WCB",
            "nullable": true
          },
          "msclikid": {
            "type": "string",
            "nullable": true
          },
          "dclid": {
            "type": "string",
            "nullable": true
          },
          "fbc": {
            "type": "string",
            "nullable": true
          },
          "fbp": {
            "type": "string",
            "example": "fb. 1.1674748390986.1171287961",
            "nullable": true
          },
          "fbEventId": {
            "type": "string",
            "example": "Mozilla/5.0",
            "nullable": true
          },
          "userAgent": {
            "type": "string",
            "example": "Mozilla/5.0",
            "nullable": true
          },
          "ip": {
            "type": "string",
            "example": "58.111.106.198",
            "nullable": true
          },
          "medium": {
            "type": "string",
            "example": "survey",
            "nullable": true
          },
          "mediumId": {
            "type": "string",
            "example": "FglfHAn30PRwsZVyQlKp",
            "nullable": true
          }
        },
        "required": [
          "url"
        ]
      },
      "contacts_GetContectByIdSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "seD4PfOuKoVMLkEZqohJ"
          },
          "name": {
            "type": "string",
            "example": "rubika deo"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "firstName": {
            "type": "string",
            "example": "rubika"
          },
          "lastName": {
            "type": "string",
            "example": "Deo"
          },
          "email": {
            "type": "string",
            "example": "rubika@deos.com"
          },
          "emailLowerCase": {
            "type": "string",
            "example": "rubika@deos.com"
          },
          "timezone": {
            "type": "string",
            "example": "Asia/Calcutta"
          },
          "companyName": {
            "type": "string",
            "example": "DGS VolMAX"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "dnd": {
            "type": "boolean",
            "example": true
          },
          "dndSettings": {
            "$ref": "#/components/schemas/contacts_DndSettingsSchema"
          },
          "type": {
            "type": "string",
            "example": "read"
          },
          "source": {
            "type": "string",
            "example": "public api"
          },
          "assignedTo": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "address1": {
            "type": "string",
            "example": "3535 1st St N"
          },
          "city": {
            "type": "string",
            "example": "ruDolomitebika"
          },
          "state": {
            "type": "string",
            "example": "AL"
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "postalCode": {
            "type": "string",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com"
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dateOfBirth": {
            "type": "string",
            "example": "Date format YYYY-MM-DD"
          },
          "dateAdded": {
            "type": "string",
            "example": "2021-07-02T05:18:26.704Z"
          },
          "dateUpdated": {
            "type": "string",
            "example": "2021-07-02T05:18:26.704Z"
          },
          "attachments": {
            "type": "string"
          },
          "ssn": {
            "type": "string"
          },
          "keyword": {
            "type": "string",
            "example": "test"
          },
          "firstNameLowerCase": {
            "type": "string",
            "example": "rubika"
          },
          "fullNameLowerCase": {
            "type": "string",
            "example": "rubika deo"
          },
          "lastNameLowerCase": {
            "type": "string",
            "example": "deo"
          },
          "lastActivity": {
            "type": "string",
            "example": "2021-07-16T11:39:30.564Z"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_CustomFieldSchema"
            }
          },
          "businessId": {
            "type": "string",
            "example": "641c094001436dbc2081e642"
          },
          "attributionSource": {
            "$ref": "#/components/schemas/contacts_AttributionSource"
          },
          "lastAttributionSource": {
            "$ref": "#/components/schemas/contacts_AttributionSource"
          },
          "visitorId": {
            "type": "string",
            "description": "visitorId is the Unique ID assigned to each Live chat visitor.",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "contacts_ContactsByIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/contacts_GetContectByIdSchema"
          }
        }
      },
      "contacts_customFieldsInputArraySchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_customFieldsInputObjectSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "object",
            "example": {}
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_customFieldsInputStringSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ",
            "description": "Pass either `id` or `key` of custom field"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field",
            "description": "Pass either `id` or `key` of custom field"
          },
          "field_value": {
            "type": "string",
            "example": "9039160788"
          }
        }
      },
      "contacts_TextField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "string",
            "example": "My Text"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_LargeTextField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "string",
            "example": "My Text"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_SingleSelectField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "string",
            "example": "My Selected Option"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_RadioField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "string",
            "example": "My Selected Option"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_NumericField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "object",
            "example": 100
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_MonetoryField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "object",
            "example": 100.5
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_CheckboxField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_MultiSelectField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_FileField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "object",
            "example": {
              "f31175d4-2b06-4fc6-b7bc-74cd814c68cb": {
                "meta": {
                  "fieldname": "1HeGizb13P0odwgOgKSs",
                  "originalname": "IMG_20231215_164412935.jpg",
                  "encoding": "7bit",
                  "mimetype": "image/jpeg",
                  "size": 1786611,
                  "uuid": "f31175d4-2b06-4fc6-b7bc-74cd814c68cb"
                },
                "url": "https://api.crm.gesvision.com/documents/download/w2M9qTZ0ZJz8rGt02jdJ",
                "documentId": "w2M9qTZ0ZJz8rGt02jdJ"
              }
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_InboundDndSettingSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "contacts_InboundDndSettingsSchema": {
        "type": "object",
        "properties": {
          "all": {
            "$ref": "#/components/schemas/contacts_InboundDndSettingSchema"
          }
        }
      },
      "contacts_CreateContactDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "example": "Rosan",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "example": "Rosan Deo",
            "nullable": true
          },
          "email": {
            "type": "string",
            "example": "rosan@deos.com",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "gender": {
            "type": "string",
            "example": "male"
          },
          "phone": {
            "type": "string",
            "example": "+1 888-888-8888",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "example": "3535 1st St N",
            "nullable": true
          },
          "city": {
            "type": "string",
            "example": "Dolomite",
            "nullable": true
          },
          "state": {
            "type": "string",
            "example": "AL",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "example": "America/Chihuahua",
            "nullable": true
          },
          "dnd": {
            "type": "boolean",
            "example": true
          },
          "dndSettings": {
            "$ref": "#/components/schemas/contacts_DndSettingsSchema"
          },
          "inboundDndSettings": {
            "$ref": "#/components/schemas/contacts_InboundDndSettingsSchema"
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customFields": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/contacts_TextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_LargeTextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_SingleSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_RadioField"
                },
                {
                  "$ref": "#/components/schemas/contacts_NumericField"
                },
                {
                  "$ref": "#/components/schemas/contacts_MonetoryField"
                },
                {
                  "$ref": "#/components/schemas/contacts_CheckboxField"
                },
                {
                  "$ref": "#/components/schemas/contacts_MultiSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_FileField"
                }
              ]
            }
          },
          "source": {
            "type": "string",
            "example": "public api"
          },
          "dateOfBirth": {
            "type": "object",
            "description": "The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY",
            "example": "1990-09-25",
            "nullable": true
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "companyName": {
            "type": "string",
            "example": "DGS VolMAX",
            "nullable": true
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "contacts_CreateContactSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "seD4PfOuKoVMLkEZqohJ"
          },
          "dateAdded": {
            "type": "string",
            "example": "2021-08-31T09:59:41.937Z"
          },
          "dateUpdated": {
            "type": "string",
            "example": "2021-08-31T09:59:41.937Z"
          },
          "deleted": {
            "type": "boolean",
            "example": false
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "example": "read"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_CustomFieldSchema"
            }
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "firstName": {
            "type": "string",
            "example": "rubika"
          },
          "firstNameLowerCase": {
            "type": "string",
            "example": "rubika"
          },
          "fullNameLowerCase": {
            "type": "string",
            "example": "rubika deo"
          },
          "lastName": {
            "type": "string",
            "example": "Deo"
          },
          "lastNameLowerCase": {
            "type": "string",
            "example": "deo"
          },
          "email": {
            "type": "string",
            "example": "rubika@deos.com"
          },
          "emailLowerCase": {
            "type": "string",
            "example": "rubika@deos.com"
          },
          "bounceEmail": {
            "type": "boolean",
            "example": false
          },
          "unsubscribeEmail": {
            "type": "boolean",
            "example": false
          },
          "dnd": {
            "type": "boolean",
            "example": true
          },
          "dndSettings": {
            "$ref": "#/components/schemas/contacts_DndSettingsSchema"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "address1": {
            "type": "string",
            "example": "3535 1st St N"
          },
          "city": {
            "type": "string",
            "example": "ruDolomitebika"
          },
          "state": {
            "type": "string",
            "example": "AL"
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "postalCode": {
            "type": "string",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com"
          },
          "source": {
            "type": "string",
            "example": "public api"
          },
          "companyName": {
            "type": "string",
            "example": "DGS VolMAX"
          },
          "dateOfBirth": {
            "type": "string",
            "example": "Date format will be  YYYY-MM-DDTHH:mm:ss.sssZ and  Example 1990-09-25T00:00:00.000Z"
          },
          "birthMonth": {
            "type": "number",
            "example": 8
          },
          "birthDay": {
            "type": "number",
            "example": 25
          },
          "lastSessionActivityAt": {
            "type": "string",
            "example": "2021-07-16T11:39:30.564Z"
          },
          "offers": {
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "products": {
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "businessId": {
            "type": "string",
            "example": "641c094001436dbc2081e642"
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id"
          }
        }
      },
      "contacts_CreateContactsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/contacts_CreateContactSchema"
          }
        }
      },
      "contacts_UpdateContactDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "example": "rosan",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "example": "rosan Deo",
            "nullable": true
          },
          "email": {
            "type": "string",
            "example": "rosan@deos.com",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "example": "+1 888-888-8888",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "example": "3535 1st St N",
            "nullable": true
          },
          "city": {
            "type": "string",
            "example": "Dolomite",
            "nullable": true
          },
          "state": {
            "type": "string",
            "example": "AL",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "example": "America/Chihuahua",
            "nullable": true
          },
          "dnd": {
            "type": "boolean",
            "example": true
          },
          "dndSettings": {
            "$ref": "#/components/schemas/contacts_DndSettingsSchema"
          },
          "inboundDndSettings": {
            "$ref": "#/components/schemas/contacts_InboundDndSettingsSchema"
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "description": "This field will overwrite all current tags associated with the contact. To update a tags, it is recommended to use the Add Tag or Remove Tag API instead.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customFields": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/contacts_TextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_LargeTextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_SingleSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_RadioField"
                },
                {
                  "$ref": "#/components/schemas/contacts_NumericField"
                },
                {
                  "$ref": "#/components/schemas/contacts_MonetoryField"
                },
                {
                  "$ref": "#/components/schemas/contacts_CheckboxField"
                },
                {
                  "$ref": "#/components/schemas/contacts_MultiSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_FileField"
                }
              ]
            }
          },
          "source": {
            "type": "string",
            "example": "public api",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "object",
            "description": "The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY",
            "example": "1990-09-25",
            "nullable": true
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id",
            "nullable": true
          }
        }
      },
      "contacts_UpdateContactsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          },
          "contact": {
            "$ref": "#/components/schemas/contacts_GetContectByIdSchema"
          }
        }
      },
      "contacts_UpsertContactDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "example": "Rosan",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "example": "Rosan Deo",
            "nullable": true
          },
          "email": {
            "type": "string",
            "example": "rosan@deos.com",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "gender": {
            "type": "string",
            "example": "male"
          },
          "phone": {
            "type": "string",
            "example": "+1 888-888-8888",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "example": "3535 1st St N",
            "nullable": true
          },
          "city": {
            "type": "string",
            "example": "Dolomite",
            "nullable": true
          },
          "state": {
            "type": "string",
            "example": "AL",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "example": "America/Chihuahua",
            "nullable": true
          },
          "dnd": {
            "type": "boolean",
            "example": true
          },
          "dndSettings": {
            "$ref": "#/components/schemas/contacts_DndSettingsSchema"
          },
          "inboundDndSettings": {
            "$ref": "#/components/schemas/contacts_InboundDndSettingsSchema"
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "description": "This field will overwrite all current tags associated with the contact. To update a tags, it is recommended to use the Add Tag or Remove Tag API instead.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customFields": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/contacts_TextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_LargeTextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_SingleSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_RadioField"
                },
                {
                  "$ref": "#/components/schemas/contacts_NumericField"
                },
                {
                  "$ref": "#/components/schemas/contacts_MonetoryField"
                },
                {
                  "$ref": "#/components/schemas/contacts_CheckboxField"
                },
                {
                  "$ref": "#/components/schemas/contacts_MultiSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_FileField"
                }
              ]
            }
          },
          "source": {
            "type": "string",
            "example": "public api"
          },
          "dateOfBirth": {
            "type": "object",
            "description": "The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY",
            "example": "1990-09-25",
            "nullable": true
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "companyName": {
            "type": "string",
            "example": "DGS VolMAX",
            "nullable": true
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id"
          },
          "createNewIfDuplicateAllowed": {
            "type": "boolean",
            "description": "Controls whether to create a new contact or update an existing duplicate. **Scenario 1:** If this value is `true` and the location allows duplicate contacts, a new contact will be created immediately without checking for duplicates. **Scenario 2:** If this value is `true` but the location does not allow duplicate contacts, this field is ignored and the normal upsert behavior applies: the API will search for an existing duplicate contact, update it if found, or create a new contact if not found. **Scenario 3:** If this value is `false` or not provided, the normal upsert behavior applies regardless of the location's duplicate contact setting.",
            "example": false,
            "default": false
          }
        },
        "required": [
          "locationId"
        ]
      },
      "contacts_UpsertContactsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "new": {
            "type": "boolean",
            "example": true
          },
          "contact": {
            "$ref": "#/components/schemas/contacts_GetContectByIdSchema"
          },
          "traceId": {
            "type": "string"
          }
        }
      },
      "contacts_DeleteContactsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "contacts_ContactsSearchSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "locationId": {
            "type": "string",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "email": {
            "type": "string",
            "example": "JohnDeo@gmail.com"
          },
          "timezone": {
            "type": "string",
            "example": "Asia/Calcutta"
          },
          "country": {
            "type": "string",
            "example": "DE"
          },
          "source": {
            "type": "string",
            "example": "xyz form"
          },
          "dateAdded": {
            "type": "string",
            "example": "2020-10-29T09:31:30.255Z"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_CustomFieldSchema"
            }
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "businessId": {
            "type": "string",
            "example": "641c094001436dbc2081e642"
          },
          "attributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_AttributionSource"
            }
          },
          "followers": {
            "example": "641c094001436dbc2081e642",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_ContactsMetaSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 50
          },
          "nextPageUrl": {
            "type": "string",
            "example": "http://localhost:5058/contacts/?locationId=ve9EPM428h8vShlRW1KT&startAfter=1631087949919&startAfterId=yd0jdjOavGk2o6Nh5Ndb"
          },
          "startAfterId": {
            "type": "string",
            "example": "yd0jdjOavGk2o6Nh5Ndb"
          },
          "startAfter": {
            "type": "number",
            "example": 1631087949919
          },
          "currentPage": {
            "type": "number",
            "example": 2
          },
          "nextPage": {
            "type": "number",
            "example": 3
          },
          "prevPage": {
            "type": "number",
            "example": 1,
            "nullable": true
          }
        }
      },
      "contacts_ContactsSearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_ContactsSearchSchema"
            }
          },
          "count": {
            "type": "number",
            "example": 10
          }
        }
      },
      "contacts_FollowersDTO": {
        "type": "object",
        "properties": {
          "followers": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "followers"
        ]
      },
      "contacts_CreateAddFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersAdded": {
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_DeleteFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersRemoved": {
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_AddContactToCampaignDto": {
        "type": "object",
        "properties": {}
      },
      "contacts_CreateDeleteCantactsCampaignsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "contacts_CreateWorkflowDto": {
        "type": "object",
        "properties": {
          "eventStartTime": {
            "type": "string",
            "example": "2021-06-23T03:30:00+01:00"
          }
        }
      },
      "contacts_ContactsWorkflowSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "conversation_ai_triggerWorkflowDto": {
        "type": "object",
        "properties": {
          "workflowIds": {
            "example": [
              "workflow123",
              "workflow456"
            ],
            "description": "Array of workflow IDs to trigger",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "triggerCondition": {
            "type": "string",
            "example": "When user requests appointment",
            "description": "Condition that triggers the workflow"
          },
          "triggerMessage": {
            "type": "string",
            "example": "Workflow triggered successfully",
            "description": "Optional message to send when triggering the workflow"
          }
        },
        "required": [
          "workflowIds",
          "triggerCondition"
        ]
      },
      "conversation_ai_updateContactFieldDto": {
        "type": "object",
        "properties": {
          "contactFieldId": {
            "type": "string",
            "example": "123",
            "description": "ID of the contact field in Contacts Table"
          },
          "description": {
            "type": "string",
            "example": "Business Name",
            "description": "Description of the contact field in Contacts Table"
          },
          "contactUpdateExamples": {
            "example": [
              "Example 1"
            ],
            "default": [],
            "description": "Contact update examples in Contacts Table. Not required when using standard fields, Monetory or Date Custom fields.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "contactFieldId",
          "description"
        ]
      },
      "conversation_ai_appointmentBookingDto": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "example": "action123",
            "description": "Optional action ID reference"
          },
          "calendarId": {
            "type": "string",
            "example": "calendar123",
            "description": "Calendar ID for appointment booking"
          },
          "onlySendLink": {
            "type": "boolean",
            "example": false,
            "description": "If true, only sends the appointment link without booking"
          },
          "triggerWorkflow": {
            "type": "boolean",
            "example": true,
            "description": "Whether to trigger a workflow after booking (cannot be true when onlySendLink is true)"
          },
          "workflowIds": {
            "example": [
              "workflow123"
            ],
            "description": "Workflow IDs to trigger after booking (required when triggerWorkflow is true)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sleepAfterBooking": {
            "type": "boolean",
            "example": true,
            "description": "Whether to put the agent to sleep after booking (cannot be true when onlySendLink is true)"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Unit for sleep time (required when sleepAfterBooking is true)"
          },
          "sleepTime": {
            "type": "number",
            "example": 24,
            "description": "Sleep duration (required when sleepAfterBooking is true)"
          },
          "transferBot": {
            "type": "boolean",
            "example": false,
            "description": "Whether to transfer to another agent after booking (cannot be true when onlySendLink is true)"
          },
          "transferAgent": {
            "type": "string",
            "example": "employee456",
            "description": "Agent ID to transfer to (required when transferBot is true)"
          },
          "rescheduleEnabled": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Whether to allow appointment rescheduling (cannot be true when onlySendLink is true)"
          },
          "cancelEnabled": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Whether to allow appointment cancellation (cannot be true when onlySendLink is true)"
          }
        },
        "required": [
          "calendarId",
          "onlySendLink",
          "triggerWorkflow",
          "sleepAfterBooking",
          "transferBot",
          "rescheduleEnabled",
          "cancelEnabled"
        ]
      },
      "conversation_ai_stopBotDto": {
        "type": "object",
        "properties": {
          "stopBotDetectionType": {
            "type": "string",
            "enum": [
              "Goodbye",
              "Custom"
            ],
            "example": "Custom",
            "description": "Type of stop bot detection - Goodbye or Custom"
          },
          "stopBotTriggerCondition": {
            "type": "string",
            "example": "When the user says they no longer need assistance or want to end the conversation",
            "description": "Condition that triggers stopping the bot"
          },
          "reactivateEnabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the bot can be reactivated after being stopped"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Time unit for reactivation delay (required when reactivateEnabled is true)"
          },
          "sleepTime": {
            "type": "number",
            "example": 24,
            "description": "Time duration before reactivation (required when reactivateEnabled is true)"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether this action is enabled for the agent"
          },
          "stopBotExamples": {
            "example": [
              "goodbye",
              "thank you",
              "no more questions"
            ],
            "description": "Example phrases that trigger stop bot action (minimum 2 required)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "finalMessage": {
            "type": "string",
            "example": "Thank you for contacting us. Have a great day!",
            "description": "Final message sent when stopping the bot"
          },
          "tags": {
            "example": [
              "resolved",
              "no-response"
            ],
            "description": "Tags to apply when stopping the bot",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "stopBotDetectionType",
          "stopBotTriggerCondition",
          "reactivateEnabled",
          "enabled",
          "stopBotExamples",
          "finalMessage"
        ]
      },
      "conversation_ai_humanHandOverDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether human handover action is enabled"
          },
          "triggerCondition": {
            "type": "string",
            "example": "When the user requests to speak with a human agent or expresses frustration",
            "description": "Condition that triggers human handover"
          },
          "examples": {
            "example": [
              "speak to human",
              "talk to agent",
              "need help from person"
            ],
            "description": "Example phrases that trigger human handover (required when handoverType is custom or contactRequest)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "assignToUserId": {
            "type": "string",
            "example": "user123",
            "description": "ID of the user to assign the conversation to"
          },
          "skipAssignToUser": {
            "type": "boolean",
            "example": false,
            "description": "Whether to skip assigning to a specific user"
          },
          "createTask": {
            "type": "boolean",
            "example": true,
            "description": "Whether to create a task when handing over"
          },
          "reactivateEnabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the agent can be reactivated after handover"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Time unit for reactivation delay (required when reactivateEnabled is true)"
          },
          "sleepTime": {
            "type": "number",
            "example": 24,
            "description": "Time duration before reactivation (required when reactivateEnabled is true)"
          },
          "finalMessage": {
            "type": "string",
            "example": "I am transferring you to a human agent who will assist you shortly.",
            "description": "Final message sent when handing over to human"
          },
          "tags": {
            "example": [
              "escalated",
              "human-requested"
            ],
            "description": "Tags to apply during handover",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "handoverType": {
            "type": "string",
            "enum": [
              "contactRequest",
              "lackOfInformation",
              "failedToResolveIssue",
              "custom"
            ],
            "example": "contactRequest",
            "description": "Type of human handover detection"
          }
        },
        "required": [
          "enabled",
          "triggerCondition",
          "reactivateEnabled",
          "finalMessage",
          "handoverType"
        ]
      },
      "conversation_ai_FollowupSequence": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1,
            "description": "Unique identifier for this followup step"
          },
          "followupTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Time unit for followup delay"
          },
          "followupTime": {
            "type": "number",
            "example": 2,
            "description": "Time duration before followup (max: 60 minutes, 24 hours, or 180 days depending on unit)"
          },
          "aiEnabledMessage": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether to use AI to generate the followup message"
          },
          "triggerWorkflow": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether to trigger a workflow during this followup"
          },
          "customMessage": {
            "type": "string",
            "example": "Hi! Just following up on our previous conversation. Do you have any questions?",
            "description": "Custom message to send (when aiEnabledMessage is false)"
          },
          "workflowId": {
            "type": "string",
            "example": "workflow789",
            "description": "Workflow ID to trigger (when triggerWorkflow is true)"
          },
          "contactRequested": {
            "type": "boolean",
            "example": false,
            "description": "Whether contact was requested in this followup"
          }
        },
        "required": [
          "id",
          "followupTimeUnit",
          "followupTime"
        ]
      },
      "conversation_ai_Interval": {
        "type": "object",
        "properties": {
          "startHour": {
            "type": "number",
            "example": 9,
            "description": "Start hour (24-hour format)"
          },
          "startMinute": {
            "type": "number",
            "example": 0,
            "description": "Start minute"
          },
          "endHour": {
            "type": "number",
            "example": 17,
            "description": "End hour (24-hour format)"
          },
          "endMinute": {
            "type": "number",
            "example": 30,
            "description": "End minute"
          }
        },
        "required": [
          "startHour",
          "startMinute",
          "endHour",
          "endMinute"
        ]
      },
      "conversation_ai_WorkingHours": {
        "type": "object",
        "properties": {
          "dayOfTheWeek": {
            "type": "number",
            "example": 1,
            "description": "Day of the week (0=Sunday, 1=Monday, etc.)"
          },
          "intervals": {
            "description": "Time intervals for this day",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_Interval"
            }
          }
        },
        "required": [
          "dayOfTheWeek"
        ]
      },
      "conversation_ai_FollowupSettings": {
        "type": "object",
        "properties": {
          "dynamicChannelSwitching": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether to dynamically switch channels for followups"
          },
          "followUpHours": {
            "type": "boolean",
            "example": true,
            "description": "Whether to respect working hours for followups"
          },
          "workingHours": {
            "description": "Working hours configuration for followups",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_WorkingHours"
            }
          },
          "timezoneToUse": {
            "type": "string",
            "enum": [
              "contact",
              "business"
            ],
            "description": "Timezone to use for followups, contact or location"
          }
        },
        "required": [
          "dynamicChannelSwitching"
        ]
      },
      "conversation_ai_advancedFollowupDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether advanced followup is enabled"
          },
          "scenarioId": {
            "type": "string",
            "example": "contactIsBusy",
            "enum": [
              "contactStoppedReplying",
              "contactIsBusy",
              "contactRequested"
            ],
            "description": "ID of the followup scenario"
          },
          "followupSequence": {
            "description": "Sequence of followup actions to perform",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_FollowupSequence"
            }
          },
          "followupSettings": {
            "description": "Additional settings for followup behavior",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_FollowupSettings"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "scenarioId",
          "followupSequence"
        ]
      },
      "conversation_ai_transferBotDto": {
        "type": "object",
        "properties": {
          "transferBotType": {
            "type": "string",
            "enum": [
              "Default",
              "Custom"
            ],
            "example": "Custom",
            "description": "Type of transfer - Default or Custom"
          },
          "transferToBot": {
            "type": "string",
            "example": "employee789",
            "description": "ID of the bot/agent to transfer to"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether this transfer action is enabled"
          },
          "transferBotTriggerCondition": {
            "type": "string",
            "example": "When the user asks to speak with sales or needs pricing information",
            "description": "Condition that triggers the transfer (required for Custom type)"
          },
          "transferBotExamples": {
            "example": [
              "talk to sales",
              "pricing information",
              "speak to specialist"
            ],
            "description": "Example phrases that trigger transfer (required for Custom type, minimum 2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "transferBotType",
          "transferToBot",
          "enabled"
        ]
      },
      "conversation_ai_CreateActionDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "triggerWorkflow",
            "enum": [
              "triggerWorkflow",
              "updateContactField",
              "appointmentBooking",
              "stopBot",
              "humanHandOver",
              "advancedFollowup",
              "transferBot"
            ]
          },
          "name": {
            "type": "string",
            "example": "Trigger a Workflow"
          },
          "details": {
            "description": "Action-specific details. The structure depends on the action type. For TRIGGER_WORKFLOW use triggerWorkflowDto, for UPDATE_CONTACT_FIELD use updateContactFieldDto, for APPOINTMENT_BOOKING use appointmentBookingDto, for STOP_BOT use stopBotDto, for HUMAN_HAND_OVER use humanHandOverDto, for ADVANCED_FOLLOWUP use advancedFollowupDto, and for TRANSFER_BOT use transferBotDto.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_triggerWorkflowDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_updateContactFieldDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_appointmentBookingDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_stopBotDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_humanHandOverDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_advancedFollowupDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_transferBotDto"
              }
            ]
          }
        },
        "required": [
          "type",
          "name",
          "details"
        ]
      },
      "conversation_ai_ActionDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "actionId123",
            "description": "Unique identifier for the action"
          },
          "name": {
            "type": "string",
            "example": "Trigger Workflow",
            "description": "Name of the action"
          },
          "type": {
            "type": "string",
            "enum": [
              "triggerWorkflow",
              "updateContactField",
              "appointmentBooking",
              "stopBot",
              "humanHandOver",
              "advancedFollowup",
              "transferBot"
            ],
            "example": "triggerWorkflow",
            "description": "Type of the action"
          },
          "agentId": {
            "type": "string",
            "example": "agentId123",
            "description": "Agent ID where the action belongs"
          },
          "details": {
            "description": "Action-specific details. The structure depends on the action type. For TRIGGER_WORKFLOW use triggerWorkflowDto, for UPDATE_CONTACT_FIELD use updateContactFieldDto, for APPOINTMENT_BOOKING use appointmentBookingDto, for STOP_BOT use stopBotDto, for HUMAN_HAND_OVER use humanHandOverDto, for ADVANCED_FOLLOWUP use advancedFollowupDto, and for TRANSFER_BOT use transferBotDto.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_triggerWorkflowDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_updateContactFieldDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_appointmentBookingDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_stopBotDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_humanHandOverDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_advancedFollowupDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_transferBotDto"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "details"
        ]
      },
      "conversation_ai_createActionResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Created action details",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_ActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_fetchActionsForEmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Grouped actions by type",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_ActionDataDTO"
            }
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_fetchActionDetailsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Action details",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_ActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_updateActionResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Updated action details",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_ActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_DeleteActionDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "actionId123",
            "description": "ID of the deleted action"
          }
        },
        "required": [
          "id"
        ]
      },
      "conversation_ai_deleteActionResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Deleted action information",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_DeleteActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_UpdateFollowupSettingsDTO": {
        "type": "object",
        "properties": {
          "actionIds": {
            "example": [
              "edxcfghbnjkimd"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followupSettings": {
            "$ref": "#/components/schemas/conversation_ai_FollowupSettings"
          }
        },
        "required": [
          "actionIds",
          "followupSettings"
        ]
      },
      "conversation_ai_CreateEmployeeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "example": "auto-pilot",
            "default": "off",
            "description": "Mode of operation - OFF, SUGGESTIVE, or AUTO_PILOT"
          },
          "channels": {
            "type": "array",
            "example": [
              "SMS",
              "Live_Chat",
              "WhatsApp"
            ],
            "description": "Communication channels the agent can operate on",
            "items": {
              "type": "string",
              "enum": [
                "IG",
                "FB",
                "SMS",
                "WebChat",
                "WhatsApp",
                "Live_Chat"
              ]
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Indicates if this agent is a primary agent."
          },
          "waitTime": {
            "type": "number",
            "example": 2,
            "default": 2,
            "description": "Wait time before agent responds (max 5 for minutes, 300 for seconds)"
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "default": "seconds",
            "description": "Unit for wait time - SECONDS or MINUTES"
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 2,
            "description": "Duration of sleep period (required if sleepEnabled is true). Set to null for indefinite sleep. (max 2880 for minutes, 172800 for seconds, 48 for hours)"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "example": "hours",
            "description": "Unit of sleep time - HOURS, MINUTES, or SECONDS (required if sleepEnabled is true). Set to null for indefinite sleep."
          },
          "personality": {
            "type": "string",
            "example": "Friendly and helpful",
            "description": "Personality traits of the agent."
          },
          "goal": {
            "type": "string",
            "example": "Assist customers with inquiries.",
            "description": "The goal of the agent."
          },
          "instructions": {
            "type": "string",
            "example": "Provide  customer service.",
            "description": "Instructions for the agent."
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "example": 75,
            "default": 75,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention. (max: 100, min: 1)"
          },
          "knowledgeBaseIds": {
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "respondToImages": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to images"
          },
          "respondToAudio": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to audio"
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a manual outbound message is sent."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a workflow outbound message is sent."
          }
        },
        "required": [
          "name",
          "personality",
          "goal",
          "instructions"
        ]
      },
      "conversation_ai_ActionsIdDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "actionId123",
            "description": "Unique identifier for the action."
          },
          "type": {
            "type": "string",
            "example": "triggerWorkflow",
            "description": "type of action.",
            "enum": [
              "triggerWorkflow",
              "updateContactField",
              "appointmentBooking",
              "stopBot",
              "humanHandOver",
              "advancedFollowup",
              "transferBot"
            ]
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "conversation_ai_EmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "emp_123",
            "description": "Unique identifier for the agent."
          },
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "example": "auto-pilot",
            "description": "Current operating mode of the agent."
          },
          "channels": {
            "type": "array",
            "example": [
              "SMS",
              "Live_Chat"
            ],
            "description": "Communication channels the agent operates on.",
            "items": {
              "type": "string",
              "enum": [
                "IG",
                "FB",
                "SMS",
                "WebChat",
                "WhatsApp",
                "Live_Chat"
              ]
            }
          },
          "waitTime": {
            "type": "number",
            "example": 30,
            "description": "Wait time before agent responds."
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "description": "Unit for wait time."
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 2,
            "description": "Duration of sleep period."
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "example": "hours",
            "description": "Unit of sleep time."
          },
          "actions": {
            "description": "List of actions associated with this agent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_ActionsIdDto"
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if this agent is a primary agent."
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "example": 25,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention."
          },
          "goal": {
            "type": "string",
            "example": "Assist customers with inquiries",
            "description": "The goal of the agent."
          },
          "personality": {
            "type": "string",
            "example": "Friendly and helpful",
            "description": "Personality traits of the agent."
          },
          "instructions": {
            "type": "string",
            "example": "Provide excellent customer service",
            "description": "Instructions for the agent."
          },
          "knowledgeBaseIds": {
            "example": [
              "kb_123",
              "kb_456"
            ],
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on manual outbound messages."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on workflow outbound messages."
          }
        },
        "required": [
          "id",
          "name",
          "mode",
          "channels",
          "waitTime",
          "waitTimeUnit",
          "sleepEnabled",
          "actions",
          "isPrimary",
          "autoPilotMaxMessages"
        ]
      },
      "conversation_ai_EmployeeListItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "emp_123",
            "description": "Unique identifier for the agent."
          },
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "example": "auto-pilot",
            "description": "Current operating mode of the agent."
          },
          "channels": {
            "example": [
              "SMS",
              "LIVE_CHAT"
            ],
            "description": "Communication channels the agent operates on.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "waitTime": {
            "type": "number",
            "example": 30,
            "description": "Wait time before agent responds."
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "description": "Unit for wait time."
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 2,
            "description": "Duration of sleep period."
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "example": "hours",
            "description": "Unit of sleep time."
          },
          "actions": {
            "example": [
              {
                "id": "action_123",
                "type": "triggerWorkflow"
              }
            ],
            "description": "List of actions associated with this agent.",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if this agent is a primary agent. (First agent created for a location is primary by default)"
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "example": 25,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention."
          },
          "goal": {
            "type": "object",
            "example": {
              "prompt": "Assist customers",
              "type": "custom",
              "actionId": null
            },
            "description": "Goal configuration for the agent."
          },
          "knowledgeBaseIds": {
            "example": [
              "kb_123",
              "kb_456"
            ],
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "example": "2024-01-01T00:00:00Z",
            "description": "Timestamp when the agent was created."
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-01-01T00:00:00Z",
            "description": "Timestamp when the agent was last updated."
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on manual outbound messages."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on workflow outbound messages."
          }
        },
        "required": [
          "id",
          "name",
          "mode",
          "channels",
          "waitTime",
          "waitTimeUnit",
          "sleepEnabled",
          "actions",
          "isPrimary",
          "autoPilotMaxMessages",
          "createdAt",
          "updatedAt"
        ]
      },
      "conversation_ai_SearchEmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "agents": {
            "description": "List of agents matching the search criteria.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_EmployeeListItemDTO"
            }
          },
          "totalCount": {
            "type": "number",
            "example": 100,
            "description": "Total number of agents in the location (unfiltered count)."
          },
          "count": {
            "type": "number",
            "example": 25,
            "description": "Number of agents in the current response (filtered/paginated count)."
          }
        },
        "required": [
          "agents",
          "totalCount",
          "count"
        ]
      },
      "conversation_ai_UpdateEmployeeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "description": "Mode of operation for the agent, required if primary is enabled."
          },
          "channels": {
            "type": "array",
            "description": "Channels the agent can use.",
            "items": {
              "type": "string",
              "enum": [
                "IG",
                "FB",
                "SMS",
                "WebChat",
                "WhatsApp",
                "Live_Chat"
              ]
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if this agent is a primary agent."
          },
          "waitTime": {
            "type": "number",
            "example": 30,
            "description": "Wait time before agent responds (max 5 for minutes, 300 for seconds)."
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "description": "Unit for wait time - SECONDS or MINUTES"
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 10,
            "description": "Duration of sleep period (required if sleepEnabled is true). Set to null for indefinite sleep. (max 2880 for minutes, 172800 for seconds, 48 for hours)"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "description": "Unit of sleep time - HOURS, MINUTES, or SECONDS (required if sleepEnabled is true). Set to null for indefinite sleep."
          },
          "personality": {
            "type": "string",
            "example": "You re an AI assistant and you are friendly and helpful",
            "description": "Personality traits of the agent."
          },
          "goal": {
            "type": "string",
            "example": "You are an AI assistant and you are helping customers with inquiries.",
            "description": "The goal of the agent."
          },
          "instructions": {
            "type": "string",
            "example": "Provide excellent customer service.",
            "description": "Instructions for the agent."
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "default": 75,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention. (max: 100, min: 1)"
          },
          "knowledgeBaseIds": {
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "respondToImages": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to images"
          },
          "respondToAudio": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to audio"
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a manual outbound message is sent."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a workflow outbound message is sent."
          }
        },
        "required": [
          "autoPilotMaxMessages"
        ]
      },
      "conversation_ai_DeleteEmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the agent was deleted successfully."
          },
          "id": {
            "type": "string",
            "example": "emp_123",
            "description": "Unique identifier of the deleted agent."
          }
        },
        "required": [
          "success",
          "id"
        ]
      },
      "conversation_ai_FetchAIResponseDetailsResponseDTO": {
        "type": "object",
        "properties": {
          "prompt": {
            "type": "string",
            "description": "The complete prompt used for the AI response.",
            "example": "Personality:\nFriendly and professional,\n\nIntent:\nAssist customers with inquiries\n\nAdditional Information:\nHandle basic support queries"
          },
          "intent": {
            "type": "string",
            "description": "The intent/goal extracted from location prompt.",
            "example": "Assist customers with product inquiries and support"
          },
          "responseMessage": {
            "type": "string",
            "description": "The response message generated by the AI.",
            "example": "Hello! I understand you're interested in our products. How can I assist you today?"
          },
          "faqs": {
            "type": "array",
            "description": "FAQ chunks used in generating the response from fine-tuned data.",
            "example": [
              {
                "id": "chunk_123",
                "content": "Our return policy allows returns within 30 days of purchase.",
                "title": "Return Policy FAQ"
              }
            ]
          },
          "website": {
            "type": "array",
            "description": "Website content chunks used in generating the response.",
            "example": [
              {
                "id": "chunk_456",
                "content": "We offer free shipping on orders over $50.",
                "url": "https://example.com/shipping"
              }
            ]
          },
          "agentId": {
            "type": "string",
            "description": "ID of the employee/agent that generated the response.",
            "example": "emp_123"
          },
          "input": {
            "type": "string",
            "description": "The original input message that triggered this response.",
            "example": "What is your return policy?"
          },
          "actionLogs": {
            "type": "array",
            "description": "List of actions taken during this interaction.",
            "example": [
              {
                "contactUpdateAction": [
                  {
                    "fieldId": "field_123",
                    "value": "John Doe"
                  }
                ]
              }
            ]
          },
          "history": {
            "type": "array",
            "description": "Conversation history leading up to this response.",
            "example": [
              {
                "role": "user",
                "content": "Hi, I have a question about returns"
              },
              {
                "role": "assistant",
                "content": "I'll be happy to help you with information about our return policy."
              }
            ]
          },
          "mode": {
            "type": "string",
            "description": "Mode of operation during this interaction.",
            "example": "auto-pilot"
          }
        },
        "required": [
          "prompt",
          "responseMessage",
          "actionLogs",
          "history"
        ]
      },
      "conversations_StartAfterNumberSchema": {
        "type": "object",
        "properties": {
          "startAfterDate": {
            "type": "number",
            "description": "Search to begin after the specified date - should contain the sort value of the last document",
            "example": 1600854
          }
        }
      },
      "conversations_StartAfterArrayNumberSchema": {
        "type": "object",
        "properties": {
          "startAfterDate": {
            "description": "Search to begin after the specified date - should contain the sort value of the last document",
            "example": [
              1600854,
              1600851
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "conversations_ConversationSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ABCHkzuJQ8ZMd4Te84GK"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "ABCHkzuJQ8ZMd4Te84GK"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ABCHkzuJQ8ZMd4Te84GK"
          },
          "lastMessageBody": {
            "type": "string",
            "description": "Content of the most recent message in the conversation",
            "example": "This is a sample message body"
          },
          "lastMessageType": {
            "type": "string",
            "description": "Channel/type of the most recent message (SMS, Email, Call, etc)",
            "example": "TYPE_SMS",
            "enum": [
              "TYPE_CALL",
              "TYPE_SMS",
              "TYPE_RCS",
              "TYPE_EMAIL",
              "TYPE_SMS_REVIEW_REQUEST",
              "TYPE_WEBCHAT",
              "TYPE_SMS_NO_SHOW_REQUEST",
              "TYPE_CAMPAIGN_SMS",
              "TYPE_CAMPAIGN_CALL",
              "TYPE_CAMPAIGN_EMAIL",
              "TYPE_CAMPAIGN_VOICEMAIL",
              "TYPE_FACEBOOK",
              "TYPE_CAMPAIGN_FACEBOOK",
              "TYPE_CAMPAIGN_MANUAL_CALL",
              "TYPE_CAMPAIGN_MANUAL_SMS",
              "TYPE_GMB",
              "TYPE_CAMPAIGN_GMB",
              "TYPE_REVIEW",
              "TYPE_INSTAGRAM",
              "TYPE_WHATSAPP",
              "TYPE_CUSTOM_SMS",
              "TYPE_CUSTOM_EMAIL",
              "TYPE_CUSTOM_PROVIDER_SMS",
              "TYPE_CUSTOM_PROVIDER_EMAIL",
              "TYPE_IVR_CALL",
              "TYPE_ACTIVITY_CONTACT",
              "TYPE_ACTIVITY_INVOICE",
              "TYPE_ACTIVITY_PAYMENT",
              "TYPE_ACTIVITY_OPPORTUNITY",
              "TYPE_LIVE_CHAT",
              "TYPE_LIVE_CHAT_INFO_MESSAGE",
              "TYPE_ACTIVITY_APPOINTMENT",
              "TYPE_FACEBOOK_COMMENT",
              "TYPE_INSTAGRAM_COMMENT",
              "TYPE_CUSTOM_CALL",
              "TYPE_INTERNAL_COMMENT",
              "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
              "TYPE_TIKTOK",
              "TYPE_TIKTOK_COMMENT",
              "TYPE_ACTIVITY_WHATSAPP",
              "TYPE_FORM_SUBMISSION",
              "TYPE_SMS_REACTION"
            ]
          },
          "type": {
            "type": "string",
            "description": "Primary channel/type of the conversation (Phone, Email, etc)",
            "example": "TYPE_PHONE",
            "enum": [
              "TYPE_PHONE",
              "TYPE_EMAIL",
              "TYPE_FB_MESSENGER",
              "TYPE_REVIEW",
              "TYPE_GROUP_SMS"
            ]
          },
          "unreadCount": {
            "type": "number",
            "description": "Number of unread messages in this conversation",
            "example": 1
          },
          "fullName": {
            "type": "string",
            "description": "Complete name of the contact (first and last name)",
            "example": "John Doe"
          },
          "contactName": {
            "type": "string",
            "description": "Alternative display name for the contact - used when full name is not available",
            "example": "John Doe Company"
          },
          "email": {
            "type": "string",
            "description": "Primary email address of the contact",
            "example": "johndoe@mailingdomain.com"
          },
          "phone": {
            "type": "string",
            "description": "Primary phone number of the contact",
            "example": "+15550001234"
          }
        },
        "required": [
          "id",
          "contactId",
          "locationId",
          "lastMessageBody",
          "lastMessageType",
          "type",
          "unreadCount",
          "fullName",
          "contactName",
          "email",
          "phone"
        ]
      },
      "conversations_SendConversationResponseDto": {
        "type": "object",
        "properties": {
          "conversations": {
            "description": "The list of all conversations found for the given query",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversations_ConversationSchema"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Number of results found for the given query",
            "example": 100
          }
        },
        "required": [
          "conversations",
          "total"
        ]
      },
      "conversations_CreateConversationDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          }
        },
        "required": [
          "locationId",
          "contactId"
        ]
      },
      "conversations_ConversationCreateResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the conversation",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date when the conversation was last updated",
            "example": "2023-10-01T12:00:00Z"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date when the conversation was created",
            "example": "2023-10-01T12:00:00Z"
          },
          "deleted": {
            "type": "boolean",
            "description": "Flag indicating if this conversation has been deleted",
            "example": false
          },
          "contactId": {
            "type": "string",
            "description": "Unique identifier of the contact associated with this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier of the business location where this conversation takes place",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "lastMessageDate": {
            "type": "string",
            "description": "Date of the last message in the conversation",
            "example": "2023-10-01T12:00:00Z"
          },
          "assignedTo": {
            "type": "string",
            "description": "Unique identifier of the team member assigned to this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          }
        },
        "required": [
          "id",
          "dateUpdated",
          "dateAdded",
          "deleted",
          "contactId",
          "locationId",
          "lastMessageDate"
        ]
      },
      "conversations_CreateConversationSuccessResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates whether the API request was successful.",
            "example": true
          },
          "conversation": {
            "description": "Conversation data of the provided conversation ID.",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_ConversationCreateResponseDto"
              }
            ]
          }
        },
        "required": [
          "success",
          "conversation"
        ]
      },
      "conversations_GetConversationByIdResponse": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "description": "Unique identifier of the contact associated with this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier of the business location where this conversation takes place",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "deleted": {
            "type": "boolean",
            "description": "Flag indicating if this conversation has been moved to trash/deleted",
            "example": false
          },
          "inbox": {
            "type": "boolean",
            "description": "Flag indicating if this conversation is currently in the main inbox view",
            "example": true
          },
          "type": {
            "type": "number",
            "description": "Communication channel type for this conversation: 1 (Phone), 2 (Email), 3 (Facebook Messenger), 4 (Review), 5 (Group SMS), 6 (Internal Chat - coming soon)"
          },
          "unreadCount": {
            "type": "number",
            "description": "Number of messages in this conversation that have not been read by the user",
            "example": 1
          },
          "assignedTo": {
            "type": "string",
            "description": "Unique identifier of the team member currently responsible for handling this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for this specific conversation thread",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "starred": {
            "type": "boolean",
            "description": "Flag indicating if this conversation has been marked as important/starred by the user",
            "example": true
          }
        },
        "required": [
          "contactId",
          "locationId",
          "deleted",
          "inbox",
          "type",
          "unreadCount",
          "id"
        ]
      },
      "conversations_UpdateConversationDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "unreadCount": {
            "type": "number",
            "description": "Count of unread messages in the conversation",
            "example": 1
          },
          "starred": {
            "type": "boolean",
            "description": "Starred status of the conversation.",
            "example": true
          },
          "feedback": {
            "type": "object"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "conversations_ConversationDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Contact ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "assignedTo": {
            "type": "string",
            "description": "Assigned User ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "userId": {
            "type": "string",
            "description": "User ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "lastMessageBody": {
            "type": "string",
            "description": "Last message body as string",
            "example": "Hello, this is the message body"
          },
          "lastMessageDate": {
            "type": "string",
            "description": "Last message date as UTC",
            "example": "1628008053263"
          },
          "lastMessageType": {
            "type": "string",
            "description": "Type of the last message sent/received in the conversation.",
            "enum": [
              "TYPE_CALL",
              "TYPE_SMS",
              "TYPE_RCS",
              "TYPE_EMAIL",
              "TYPE_SMS_REVIEW_REQUEST",
              "TYPE_WEBCHAT",
              "TYPE_SMS_NO_SHOW_REQUEST",
              "TYPE_CAMPAIGN_SMS",
              "TYPE_CAMPAIGN_CALL",
              "TYPE_CAMPAIGN_EMAIL",
              "TYPE_CAMPAIGN_VOICEMAIL",
              "TYPE_FACEBOOK",
              "TYPE_CAMPAIGN_FACEBOOK",
              "TYPE_CAMPAIGN_MANUAL_CALL",
              "TYPE_CAMPAIGN_MANUAL_SMS",
              "TYPE_GMB",
              "TYPE_CAMPAIGN_GMB",
              "TYPE_REVIEW",
              "TYPE_INSTAGRAM",
              "TYPE_WHATSAPP",
              "TYPE_CUSTOM_SMS",
              "TYPE_CUSTOM_EMAIL",
              "TYPE_CUSTOM_PROVIDER_SMS",
              "TYPE_CUSTOM_PROVIDER_EMAIL",
              "TYPE_IVR_CALL",
              "TYPE_ACTIVITY_CONTACT",
              "TYPE_ACTIVITY_INVOICE",
              "TYPE_ACTIVITY_PAYMENT",
              "TYPE_ACTIVITY_OPPORTUNITY",
              "TYPE_LIVE_CHAT",
              "TYPE_LIVE_CHAT_INFO_MESSAGE",
              "TYPE_ACTIVITY_APPOINTMENT",
              "TYPE_FACEBOOK_COMMENT",
              "TYPE_INSTAGRAM_COMMENT",
              "TYPE_CUSTOM_CALL",
              "TYPE_INTERNAL_COMMENT",
              "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
              "TYPE_TIKTOK",
              "TYPE_TIKTOK_COMMENT",
              "TYPE_ACTIVITY_WHATSAPP",
              "TYPE_FORM_SUBMISSION",
              "TYPE_SMS_REACTION"
            ],
            "example": "TYPE_CALL"
          },
          "unreadCount": {
            "type": "number",
            "description": "Count of unread messages in the conversation",
            "example": 1
          },
          "inbox": {
            "type": "boolean",
            "description": "Inbox status of the conversation.",
            "example": true
          },
          "starred": {
            "type": "boolean",
            "description": "Starred status of the conversation.",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted status of the conversation.",
            "example": false
          }
        },
        "required": [
          "locationId",
          "contactId",
          "deleted"
        ]
      },
      "conversations_GetConversationSuccessfulResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Boolean value as the API response.",
            "example": true
          },
          "conversation": {
            "description": "Conversation data of the provided conversation ID.",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_ConversationDto"
              }
            ]
          }
        },
        "required": [
          "success",
          "conversation"
        ]
      },
      "conversations_DeleteConversationSuccessfulResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Boolean value as the API response.",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "conversations_CreateCustomSubtypeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the custom subtype (max 100 characters)",
            "example": "Newsletter Subscription",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "description": "Description of the custom subtype (max 100 characters)",
            "example": "Weekly newsletter subscription preferences",
            "maxLength": 100
          },
          "channel": {
            "type": "string",
            "description": "Communication channel",
            "enum": [
              "email",
              "sms"
            ],
            "example": "email"
          },
          "language": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          }
        },
        "required": [
          "name",
          "channel",
          "language"
        ]
      },
      "conversations_UpdateCustomSubtypeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the custom subtype (max 100 characters)",
            "example": "Newsletter Subscription",
            "maxLength": 100
          },
          "description": {
            "type": "string",
            "description": "Description of the custom subtype (max 100 characters)",
            "example": "Updated weekly newsletter subscription preferences",
            "maxLength": 100
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the custom subtype is archived",
            "example": false
          },
          "resubscription_legal_form_id": {
            "type": "string",
            "description": "Resubscription legal form ID (optional when archiving)",
            "example": "form_123456"
          }
        }
      },
      "conversations_SubscriptionActionDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of subscription action",
            "enum": [
              "default",
              "custom",
              "resub_all"
            ],
            "example": "custom"
          },
          "subtype_name": {
            "type": "string",
            "description": "Subscription type name (required for default types: \"One on One\")",
            "enum": [
              "One on One"
            ],
            "example": "One on One"
          },
          "subtype_id": {
            "type": "string",
            "description": "Custom subscription type ID (required for custom types)",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "subtype_status": {
            "type": "string",
            "description": "Subscription status",
            "enum": [
              "subscribed",
              "unsubscribed"
            ],
            "example": "unsubscribed"
          }
        },
        "required": [
          "type",
          "subtype_status"
        ]
      },
      "conversations_UserSubscriptionChangeDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "OP7z4LCyPACyH5fcEIZa"
          },
          "email": {
            "type": "string",
            "description": "Email address",
            "example": "user@example.com"
          },
          "subscription_action": {
            "description": "Subscription action details",
            "examples": {
              "default_one_on_one": {
                "summary": "Unsubscribe from One on One emails",
                "value": {
                  "type": "default",
                  "subtype_name": "One on One",
                  "subtype_status": "unsubscribed"
                }
              },
              "custom_newsletter": {
                "summary": "Subscribe to custom newsletter",
                "value": {
                  "type": "custom",
                  "subtype_id": "ve9EPM428h8vShlRW1KT",
                  "subtype_status": "subscribed"
                }
              },
              "resub_all": {
                "summary": "Resubscribe to all email types",
                "value": {
                  "type": "resub_all",
                  "subtype_status": "subscribed"
                }
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_SubscriptionActionDto"
              }
            ]
          },
          "legal_reason": {
            "type": "string",
            "description": "Legal reason for the change (required only for resubscribe and resub_all actions)",
            "example": "User requested resubscribe via customer service"
          },
          "legal_description": {
            "type": "string",
            "description": "Legal description/details",
            "example": "Customer called support on 2024-01-15 requesting to be removed from newsletter"
          }
        },
        "required": [
          "locationId",
          "contactId",
          "email",
          "subscription_action"
        ]
      },
      "conversations_GetEmailMessageResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "altId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "External Id"
          },
          "threadId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Message Id or thread Id"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "dateAdded": {
            "type": "string",
            "example": "2024-03-27T18:13:49.000Z"
          },
          "subject": {
            "type": "string",
            "example": "Order confirm"
          },
          "body": {
            "type": "string",
            "example": "Hi there"
          },
          "direction": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "scheduled",
              "sent",
              "delivered",
              "read",
              "undelivered",
              "connected",
              "failed",
              "opened"
            ]
          },
          "contentType": {
            "type": "string",
            "example": "text/plain"
          },
          "attachments": {
            "description": "An array of attachment URLs.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "provider": {
            "type": "string",
            "examples": [
              "CRM Gmail",
              "mailgun",
              "smtp",
              "custom"
            ]
          },
          "from": {
            "type": "string",
            "description": "Name and Email Id of the sender"
          },
          "to": {
            "description": "List of email Ids of the receivers",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cc": {
            "description": "List of email Ids of the people in the cc field",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bcc": {
            "description": "List of email Ids of the people in the bcc field",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "replyToMessageId": {
            "type": "string",
            "description": "In case of reply, email message Id of the reply to email"
          },
          "source": {
            "type": "string",
            "enum": [
              "workflow",
              "bulk_actions",
              "campaign",
              "api",
              "app"
            ],
            "description": "Email source"
          },
          "conversationProviderId": {
            "type": "string",
            "example": "cI08i1Bls3iTB9bKgF01",
            "description": "Conversation provider ID"
          }
        },
        "required": [
          "id",
          "threadId",
          "locationId",
          "contactId",
          "conversationId",
          "dateAdded",
          "body",
          "direction",
          "contentType",
          "from",
          "to"
        ]
      },
      "conversations_CancelScheduledResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP Status code of the request",
            "example": 404
          },
          "message": {
            "type": "string",
            "description": "Error message of the request",
            "example": "Failed cancel the scheduled message"
          }
        },
        "required": [
          "status",
          "message"
        ]
      },
      "conversations_MessageMeta": {
        "type": "object",
        "properties": {
          "callDuration": {
            "type": "string",
            "description": "Call duration in seconds",
            "example": 120
          },
          "callStatus": {
            "type": "string",
            "description": "Call status - can be pending, completed, answered, busy, no-answer, failed, canceled, or voicemail",
            "example": "completed",
            "enum": [
              "pending",
              "completed",
              "answered",
              "busy",
              "no-answer",
              "failed",
              "canceled",
              "voicemail"
            ]
          },
          "email": {
            "type": "object",
            "description": "meta will contain email, for message type 3 (email). messageIds is list of all email message ids under the message thread",
            "example": {
              "email": {
                "messageIds": [
                  "ve9EPM428kjkvShlRW1KT",
                  "ve9EPs1028kjkvShlRW1KT"
                ]
              }
            }
          }
        }
      },
      "conversations_GetMessageResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "type": {
            "type": "number",
            "example": 1
          },
          "messageType": {
            "type": "string",
            "description": "Type of the message as a string",
            "example": "SMS",
            "enum": [
              "TYPE_CALL",
              "TYPE_SMS",
              "TYPE_RCS",
              "TYPE_EMAIL",
              "TYPE_SMS_REVIEW_REQUEST",
              "TYPE_WEBCHAT",
              "TYPE_SMS_NO_SHOW_REQUEST",
              "TYPE_CAMPAIGN_SMS",
              "TYPE_CAMPAIGN_CALL",
              "TYPE_CAMPAIGN_EMAIL",
              "TYPE_CAMPAIGN_VOICEMAIL",
              "TYPE_FACEBOOK",
              "TYPE_CAMPAIGN_FACEBOOK",
              "TYPE_CAMPAIGN_MANUAL_CALL",
              "TYPE_CAMPAIGN_MANUAL_SMS",
              "TYPE_GMB",
              "TYPE_CAMPAIGN_GMB",
              "TYPE_REVIEW",
              "TYPE_INSTAGRAM",
              "TYPE_WHATSAPP",
              "TYPE_CUSTOM_SMS",
              "TYPE_CUSTOM_EMAIL",
              "TYPE_CUSTOM_PROVIDER_SMS",
              "TYPE_CUSTOM_PROVIDER_EMAIL",
              "TYPE_IVR_CALL",
              "TYPE_ACTIVITY_CONTACT",
              "TYPE_ACTIVITY_INVOICE",
              "TYPE_ACTIVITY_PAYMENT",
              "TYPE_ACTIVITY_OPPORTUNITY",
              "TYPE_LIVE_CHAT",
              "TYPE_LIVE_CHAT_INFO_MESSAGE",
              "TYPE_ACTIVITY_APPOINTMENT",
              "TYPE_FACEBOOK_COMMENT",
              "TYPE_INSTAGRAM_COMMENT",
              "TYPE_CUSTOM_CALL",
              "TYPE_INTERNAL_COMMENT",
              "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
              "TYPE_TIKTOK",
              "TYPE_TIKTOK_COMMENT",
              "TYPE_ACTIVITY_WHATSAPP",
              "TYPE_FORM_SUBMISSION",
              "TYPE_SMS_REACTION"
            ]
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "dateAdded": {
            "type": "string",
            "example": "2024-03-27T18:13:49.000Z"
          },
          "body": {
            "type": "string",
            "example": "Hi there"
          },
          "direction": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "connected",
              "delivered",
              "failed",
              "opened",
              "pending",
              "read",
              "scheduled",
              "sent",
              "undelivered",
              "clicked",
              "opt_out",
              "queued"
            ]
          },
          "contentType": {
            "type": "string",
            "example": "text/plain"
          },
          "attachments": {
            "description": "An array of attachment URLs. Attachments will be empty for Call and Voicemails, type 1 and 10. Please use get call recording API to fetch call recording and voicemails.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/conversations_MessageMeta"
          },
          "source": {
            "type": "string",
            "enum": [
              "workflow",
              "bulk_actions",
              "campaign",
              "api",
              "app"
            ],
            "description": "Message source"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "conversationProviderId": {
            "type": "string",
            "description": "Conversation Provider Id",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "chatWidgetId": {
            "type": "string",
            "description": "Chat Widget Id",
            "example": "67b0cc8cf14b19d85ace7s35"
          }
        },
        "required": [
          "id",
          "type",
          "messageType",
          "locationId",
          "contactId",
          "conversationId",
          "dateAdded",
          "direction",
          "contentType"
        ]
      },
      "conversations_ExportMessagesResponseDto": {
        "type": "object",
        "properties": {
          "messages": {
            "description": "Array of messages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversations_GetMessageResponseDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "Cursor for fetching next page. Null if no more results.",
            "example": "eyJwaXRJZCI6ImFiYy0xMjMiLCJsYXN0U29ydCI6WzE2NDY4NjQ0MDBdLCJsYXN0SWQiOiIxMjMifQ=="
          },
          "total": {
            "type": "number",
            "description": "Total number of messages matching the query",
            "example": 1234
          }
        },
        "required": [
          "messages",
          "total"
        ]
      },
      "conversations_GetMessagesByConversationResponseDto": {
        "type": "object",
        "properties": {
          "lastMessageId": {
            "type": "string",
            "description": "Id of the last message in the messages array",
            "example": "p1mRSHeLDhAms5q0LMr4"
          },
          "nextPage": {
            "type": "boolean",
            "description": "Next page value true indicates only 20 message is in the response. Rest of the messages are in the next page. Please use the lastMessageId value in the query to get the next page messages",
            "example": true
          },
          "messages": {
            "description": "Array of messages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversations_GetMessageResponseDto"
            }
          }
        },
        "required": [
          "lastMessageId",
          "nextPage",
          "messages"
        ]
      },
      "conversations_ForwardConfigDto": {
        "type": "object",
        "properties": {
          "isForwarded": {
            "type": "boolean",
            "description": "Specify if this is a forwarded email",
            "example": true
          },
          "forwardWholeThread": {
            "type": "boolean",
            "description": "Specify if forwarding the whole thread or just a single email",
            "example": false
          },
          "messageId": {
            "type": "string",
            "description": "Message ID of the email thread being forwarded (source) - REQUIRED for forwarding",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email Message ID of the specific email being forwarded (source) - Required for single email forward, ignored for thread forward",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "sourceContactId": {
            "type": "string",
            "description": "Contact ID where the forwarded email originated from (source) - Auto-populated if not provided",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "sourceConversationId": {
            "type": "string",
            "description": "Conversation ID where the forwarded email originated from (source) - Auto-populated if not provided",
            "example": "XYZ12h2F6uBrIkfXYacd"
          },
          "toEmail": {
            "type": "string",
            "description": "Email address to forward to (destination)",
            "example": "forward@example.com"
          },
          "recipientContactId": {
            "type": "string",
            "description": "Contact ID of recipient when forwarding (destination)",
            "example": "DEF56h2F6uBrIkfXYacd"
          },
          "recipientConversationId": {
            "type": "string",
            "description": "Conversation ID of recipient when forwarding (destination)",
            "example": "GHI78h2F6uBrIkfXYefg"
          }
        },
        "required": [
          "isForwarded"
        ]
      },
      "conversations_SendMessageBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "SMS",
              "RCS",
              "Email",
              "WhatsApp",
              "IG",
              "FB",
              "Custom",
              "Live_Chat",
              "TIKTOK"
            ],
            "description": "Type of message being sent",
            "example": "Email"
          },
          "subType": {
            "type": "object",
            "description": "Type of message being sent",
            "example": "Email"
          },
          "contactId": {
            "type": "string",
            "description": "ID of the contact receiving the message",
            "example": "abc123def456"
          },
          "appointmentId": {
            "type": "string",
            "description": "ID of the associated appointment",
            "example": "appt123"
          },
          "attachments": {
            "description": "Array of attachment URLs",
            "example": [
              "https://storage.com/file1.pdf",
              "https://storage.com/file2.jpg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailFrom": {
            "type": "string",
            "description": "Email address to send from",
            "example": "sender@company.com"
          },
          "emailCc": {
            "description": "Array of CC email addresses",
            "example": [
              "cc1@company.com",
              "cc2@company.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailBcc": {
            "description": "Array of BCC email addresses",
            "example": [
              "bcc1@company.com",
              "bcc2@company.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "html": {
            "type": "string",
            "description": "HTML content of the message",
            "example": "<p>Hello World</p>"
          },
          "message": {
            "type": "string",
            "description": "Text content of the message",
            "example": "Hello, how can I help you today?"
          },
          "subject": {
            "type": "string",
            "description": "Subject line for email messages",
            "example": "Important Update"
          },
          "replyMessageId": {
            "type": "string",
            "description": "ID of message being replied to",
            "example": "msg123"
          },
          "templateId": {
            "type": "string",
            "description": "ID of message template",
            "example": "template123"
          },
          "threadId": {
            "type": "string",
            "description": "ID of message thread. For email messages, this is the message ID that contains multiple email messages in the thread",
            "example": "thread123"
          },
          "scheduledTimestamp": {
            "type": "number",
            "description": "UTC Timestamp (in seconds) at which the message should be scheduled",
            "example": 1669287863
          },
          "conversationProviderId": {
            "type": "string",
            "description": "ID of conversation provider",
            "example": "provider123"
          },
          "emailTo": {
            "type": "string",
            "description": "Email address to send to, if different from contact's primary email. This should be a valid email address associated with the contact.",
            "example": "recipient@company.com"
          },
          "customSubtypeId": {
            "type": "string",
            "description": "Custom subtype ID for email unsubscription preferences. Only applies to email messages.",
            "example": "507f1f77bcf86cd799439011"
          },
          "emailReplyMode": {
            "type": "string",
            "enum": [
              "reply",
              "reply_all"
            ],
            "description": "Mode for email replies",
            "example": "reply_all"
          },
          "fromNumber": {
            "type": "string",
            "description": "Phone number used as the sender number for outbound messages",
            "example": "+1499499299"
          },
          "toNumber": {
            "type": "string",
            "description": "Recipient phone number for outbound messages",
            "example": "+1439499299"
          },
          "forward": {
            "description": "Forwarding configuration for emails",
            "example": {
              "isForwarded": true,
              "forwardWholeThread": false,
              "messageId": "t22c6DQcTDf3MjRhwf77",
              "emailMessageId": "rnGyqh2F6uBrIkfhFo9A",
              "toEmail": "forward@example.com",
              "recipientContactId": "DEF56h2F6uBrIkfXYacd"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_ForwardConfigDto"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "delivered",
            "enum": [
              "delivered",
              "failed",
              "pending",
              "read"
            ]
          },
          "usesNativeSchedulingAi": {
            "type": "boolean",
            "description": "Whether the scheduled email uses native AI for the email scheduling ",
            "example": false
          },
          "optimizationPeriod": {
            "type": "string",
            "description": "Optimization period in hours (24h, 48h, or 72h)",
            "example": "24h",
            "enum": [
              "24h",
              "48h",
              "72h"
            ]
          }
        },
        "required": [
          "type",
          "subType",
          "contactId",
          "status"
        ]
      },
      "conversations_ForwardResponseDto": {
        "type": "object",
        "properties": {
          "forwardWholeThread": {
            "type": "boolean",
            "description": "Whether the entire thread was forwarded",
            "example": false
          },
          "messageId": {
            "type": "string",
            "description": "Message ID of the forwarded message (source)",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email Message ID of the forwarded email (source)",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "sourceContactId": {
            "type": "string",
            "description": "Contact ID where the forwarded email originated from (source)",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "sourceConversationId": {
            "type": "string",
            "description": "Conversation ID where the forwarded email originated from (source)",
            "example": "XYZ12h2F6uBrIkfXYacd"
          },
          "forwardToEmail": {
            "type": "string",
            "description": "Email address the message was forwarded to (destination)",
            "example": "recipient@example.com"
          },
          "recipientContactId": {
            "type": "string",
            "description": "Contact ID of the recipient of the forwarded email (destination)",
            "example": "DEF56h2F6uBrIkfXYacd"
          },
          "recipientConversationId": {
            "type": "string",
            "description": "Conversation ID of the recipient of the forwarded email (destination)",
            "example": "GHI78h2F6uBrIkfXYefg"
          }
        }
      },
      "conversations_SendMessageResponseDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "description": "Conversation ID.",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "emailMessageId": {
            "type": "string",
            "description": "This contains the email message id (only for Email type). Use this ID to send inbound replies to the platform to create a threaded email.",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "messageId": {
            "type": "string",
            "description": "This is the main Message ID",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "messageIds": {
            "description": "When sending via the GMB channel, we will be returning list of `messageIds` instead of single `messageId`.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "msg": {
            "type": "string",
            "description": "Additional response message when sending a workflow message",
            "example": "Message queued successfully."
          },
          "forwardData": {
            "description": "Optional metadata for forwarded email",
            "example": {
              "forwardWholeThread": false,
              "messageId": "t22c6DQcTDf3MjRhwf77",
              "emailMessageId": "rnGyqh2F6uBrIkfhFo9A",
              "forwardToEmail": "recipient@example.com",
              "recipientContactId": "DEF56h2F6uBrIkfXYacd"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_ForwardResponseDto"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "delivered",
            "enum": [
              "delivered",
              "failed",
              "pending",
              "read"
            ]
          }
        },
        "required": [
          "conversationId",
          "messageId",
          "status"
        ]
      },
      "conversations_CallDataDTO": {
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "description": "Phone number of the receiver",
            "example": "+15037081210"
          },
          "from": {
            "type": "string",
            "description": "Phone number of the dialer",
            "example": "+15037081210"
          },
          "status": {
            "type": "string",
            "description": "Call status",
            "example": "completed",
            "enum": [
              "pending",
              "completed",
              "answered",
              "busy",
              "no-answer",
              "failed",
              "canceled",
              "voicemail"
            ]
          }
        }
      },
      "conversations_ProcessMessageBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Message Type",
            "example": "SMS",
            "enum": [
              "SMS",
              "RCS",
              "Email",
              "WhatsApp",
              "GMB",
              "IG",
              "FB",
              "Custom",
              "WebChat",
              "Live_Chat",
              "Call",
              "IVR_Call",
              "Campaign_Call",
              "Campaign_VoiceMail",
              "TIKTOK",
              "ALL_IN_ONE_CHAT",
              "FORM_SUBMISSION"
            ]
          },
          "attachments": {
            "description": "Array of attachments",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Message Body"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationProviderId": {
            "type": "string",
            "description": "Conversation Provider Id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "html": {
            "type": "string",
            "description": "HTML Body of Email"
          },
          "subject": {
            "type": "string",
            "description": "Subject of the Email"
          },
          "emailFrom": {
            "type": "string",
            "description": "Email address to send from. This field is associated with the contact record and cannot be dynamically changed.",
            "example": "sender@company.com"
          },
          "emailTo": {
            "type": "string",
            "description": "Recipient email address. This field is associated with the contact record and cannot be dynamically changed."
          },
          "emailCc": {
            "description": "List of email address to CC",
            "example": [
              "john1@doe.com",
              "john2@doe.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailBcc": {
            "description": "List of email address to BCC",
            "example": [
              "john1@doe.com",
              "john2@doe.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailMessageId": {
            "type": "string",
            "description": "Send the email message id for which this email should be threaded. This is for replying to a specific email"
          },
          "altId": {
            "type": "string",
            "description": "external mail provider's message id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "direction": {
            "type": "object",
            "description": "Message direction, if required can be set manually, default is outbound",
            "default": "outbound",
            "example": [
              "outbound",
              "inbound"
            ]
          },
          "date": {
            "format": "date-time",
            "type": "string",
            "description": "Date of the inbound message"
          },
          "call": {
            "description": "Phone call dialer and receiver information",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_CallDataDTO"
              }
            ]
          }
        },
        "required": [
          "type",
          "conversationId",
          "contactId",
          "conversationProviderId"
        ]
      },
      "conversations_ProcessMessageResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation ID.",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "messageId": {
            "type": "string",
            "description": "This is the main Message ID",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "message": {
            "type": "string"
          },
          "contactId": {
            "type": "string"
          },
          "dateAdded": {
            "format": "date-time",
            "type": "string"
          },
          "emailMessageId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "conversationId",
          "messageId",
          "message"
        ]
      },
      "conversations_ProcessOutboundMessageBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Message Type",
            "example": "Call",
            "enum": [
              "Call"
            ]
          },
          "attachments": {
            "description": "Array of attachments",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationProviderId": {
            "type": "string",
            "description": "Conversation Provider Id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "altId": {
            "type": "string",
            "description": "external mail provider's message id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "date": {
            "format": "date-time",
            "type": "string",
            "description": "Date of the outbound message"
          },
          "call": {
            "description": "Phone call dialer and receiver information",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_CallDataDTO"
              }
            ]
          }
        },
        "required": [
          "type",
          "conversationId",
          "conversationProviderId"
        ]
      },
      "conversations_SendReviewReplyDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "description": "Conversation ID (must have reviewId)",
            "example": "conv123"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "loc123"
          },
          "message": {
            "type": "string",
            "description": "Review reply message text",
            "example": "Thank you for your review!"
          }
        },
        "required": [
          "conversationId",
          "locationId",
          "message"
        ]
      },
      "conversations_UploadFilesDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "locationId": {
            "type": "string"
          },
          "attachmentUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chatServiceSid": {
            "type": "string",
            "description": "Twilio chat service SID for group SMS uploads",
            "example": "ISxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "isGroupSms": {
            "type": "string",
            "description": "Flag to indicate group SMS upload flow. When true, only 1 file upload is allowed per request.",
            "example": "true"
          }
        },
        "required": [
          "conversationId",
          "contactId",
          "locationId",
          "attachmentUrls"
        ]
      },
      "conversations_UploadFilesResponseDto": {
        "type": "object",
        "properties": {
          "uploadedFiles": {
            "type": "object"
          },
          "twilioMediaSids": {
            "description": "Twilio media SIDs for group SMS (when isGroupSms=true)",
            "example": [
              "MExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uploadedFiles"
        ]
      },
      "conversations_UploadFilesErrorResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP Status code of the request",
            "example": 413,
            "enum": [
              400,
              413,
              415
            ]
          },
          "message": {
            "type": "string",
            "description": "Error message of the request",
            "example": "Failed to upload the files"
          }
        },
        "required": [
          "status",
          "message"
        ]
      },
      "conversations_InitiateFileUploadDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "filename": {
            "type": "string",
            "description": "Original filename with extension",
            "example": "video.mp4"
          },
          "contentType": {
            "type": "string",
            "description": "MIME type of the file",
            "example": "video/mp4"
          },
          "fileSize": {
            "type": "number",
            "description": "File size in bytes (optional, for pre-validation)",
            "example": 52428800
          },
          "channel": {
            "type": "string",
            "description": "Channel type for size limits (WHATSAPP for 100MB limit, others for 5MB)",
            "example": "WHATSAPP"
          }
        },
        "required": [
          "locationId",
          "conversationId",
          "filename",
          "contentType",
          "channel"
        ]
      },
      "conversations_InitiateFileUploadResponseDto": {
        "type": "object",
        "properties": {
          "uploadUrl": {
            "type": "string",
            "description": "Signed URL for direct upload to GCS. Use PUT request with file content.",
            "example": "https://storage.googleapis.com/bucket/path?X-Goog-Algorithm=..."
          },
          "uploadId": {
            "type": "string",
            "description": "Unique upload ID for tracking and completing the upload",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "filePath": {
            "type": "string",
            "description": "File path in GCS bucket (needed for confirmation endpoint)",
            "example": "location/loc123/conversations/conv456/uuid.mp4"
          },
          "expiresAt": {
            "type": "number",
            "description": "URL expiration timestamp (Unix milliseconds)",
            "example": 1701619200000
          },
          "maxFileSize": {
            "type": "number",
            "description": "Maximum allowed file size in bytes",
            "example": 104857600
          }
        },
        "required": [
          "uploadUrl",
          "uploadId",
          "filePath",
          "expiresAt",
          "maxFileSize"
        ]
      },
      "conversations_CompleteFileUploadDto": {
        "type": "object",
        "properties": {
          "uploadId": {
            "type": "string",
            "description": "Upload ID from request response",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "filePath": {
            "type": "string",
            "description": "File path from request response",
            "example": "location/loc123/conversations/conv456/uuid.mp4"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "filename": {
            "type": "string",
            "description": "Original filename (for response mapping)",
            "example": "video.mp4"
          }
        },
        "required": [
          "uploadId",
          "filePath",
          "locationId",
          "conversationId",
          "filename"
        ]
      },
      "conversations_CompleteFileUploadResponseDto": {
        "type": "object",
        "properties": {
          "uploadedFiles": {
            "type": "object",
            "description": "Map of filename to public URL",
            "example": {
              "video.mp4": "https://your-domain.com/conversations-assets/location/.../video.mp4"
            }
          },
          "metadata": {
            "type": "object",
            "description": "File metadata",
            "example": {
              "size": 52428800,
              "contentType": "video/mp4"
            }
          }
        },
        "required": [
          "uploadedFiles",
          "metadata"
        ]
      },
      "conversations_ErrorDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error Code",
            "example": "1"
          },
          "type": {
            "type": "string",
            "description": "Error Type",
            "example": "saas"
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "example": "There was an error from the provider"
          }
        },
        "required": [
          "code",
          "type",
          "message"
        ]
      },
      "conversations_UpdateMessageStatusDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "read",
            "enum": [
              "delivered",
              "failed",
              "pending",
              "read"
            ]
          },
          "error": {
            "description": "Error object from the conversation provider",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_ErrorDto"
              }
            ]
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email message Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "recipients": {
            "description": "Email delivery status for additional email recipients.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "status"
        ]
      },
      "conversations_AddMessageAttachmentsDto": {
        "type": "object",
        "properties": {
          "attachments": {
            "description": "Array of attachment URLs to set on the message (replaces existing). Maximum 5 URLs.",
            "example": [
              "https://provider.com/recordings/call-123.mp3"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attachments"
        ]
      },
      "conversations_GetMessageTranscriptionResponseDto": {
        "type": "object",
        "properties": {
          "mediaChannel": {
            "type": "number",
            "description": "Media channel describes the user interaction channel",
            "example": "1"
          },
          "sentenceIndex": {
            "type": "number",
            "description": "Index of the sentence in the transcription",
            "example": "1"
          },
          "startTime": {
            "type": "number",
            "description": "Start time of the sentence in milliseconds",
            "example": "34"
          },
          "endTime": {
            "type": "number",
            "description": "End time of the sentence in milliseconds",
            "example": "45"
          },
          "transcript": {
            "type": "string",
            "description": "Transcript of the sentence",
            "example": "This call may be recorded for quality assurance purposes."
          },
          "confidence": {
            "type": "number",
            "description": "Confidence of the transcription",
            "example": "0.5"
          }
        },
        "required": [
          "mediaChannel",
          "sentenceIndex",
          "startTime",
          "endTime",
          "transcript",
          "confidence"
        ]
      },
      "conversations_UserTypingBody": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "isTyping": {
            "type": "string",
            "description": "Typing status",
            "example": true
          },
          "visitorId": {
            "type": "string",
            "description": "visitorId is the Unique ID assigned to each Live chat visitor. visitorId will be added soon in <a href=\"https://crm-gesvision.stoplight.io/docs/integrations/00c5ff21f0030-get-contact\" target=\"_blank\">GET Contact API</a>",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "locationId",
          "isTyping",
          "visitorId",
          "conversationId"
        ]
      },
      "conversations_CreateLiveChatMessageFeedbackResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "courses_visibility": {
        "type": "string",
        "enum": [
          "published",
          "draft"
        ]
      },
      "courses_contentType": {
        "type": "string",
        "enum": [
          "video",
          "assignment",
          "quiz"
        ]
      },
      "courses_type": {
        "type": "string",
        "enum": [
          "pdf",
          "image",
          "docx",
          "pptx",
          "xlsx",
          "html",
          "dotx",
          "epub",
          "webp",
          "gdoc",
          "mp3",
          "doc",
          "txt",
          "zip",
          "ppt",
          "key",
          "htm",
          "xls",
          "odp",
          "odt",
          "rtf",
          "m4a",
          "ods",
          "mp4",
          "ai",
          "avi",
          "mov",
          "wmv",
          "mkv",
          "wav",
          "flac",
          "ogg",
          "png",
          "jpeg",
          "jpg",
          "gif",
          "bmp",
          "tiff",
          "svg",
          "odg",
          "sxw",
          "sxc",
          "sxi",
          "rar",
          "7z",
          "json",
          "xml",
          "csv",
          "md",
          "obj",
          "stl",
          "woff",
          "ttf"
        ]
      },
      "courses_PostMaterialInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/courses_type"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "type",
          "url"
        ]
      },
      "courses_PostInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/courses_visibility"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "contentType": {
            "$ref": "#/components/schemas/courses_contentType"
          },
          "description": {
            "type": "string"
          },
          "bucketVideoUrl": {
            "type": "string"
          },
          "postMaterials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_PostMaterialInterface"
            }
          }
        },
        "required": [
          "title",
          "visibility",
          "contentType",
          "description"
        ]
      },
      "courses_SubCategoryInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/courses_visibility"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_PostInterface"
            }
          }
        },
        "required": [
          "title",
          "visibility"
        ]
      },
      "courses_CategoryInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/courses_visibility"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_PostInterface"
            }
          },
          "subCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_SubCategoryInterface"
            }
          }
        },
        "required": [
          "title",
          "visibility"
        ]
      },
      "courses_InstructorDetails": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description"
        ]
      },
      "courses_ProductInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_CategoryInterface"
            }
          },
          "instructorDetails": {
            "$ref": "#/components/schemas/courses_InstructorDetails"
          }
        },
        "required": [
          "title",
          "description",
          "categories"
        ]
      },
      "courses_PublicExporterPayload": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_ProductInterface"
            }
          }
        },
        "required": [
          "locationId",
          "products"
        ]
      },
      "custom_fields_OptionDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of the option (Included in Create and Response, excluded in Update)"
          },
          "label": {
            "type": "string",
            "description": "Value of the option"
          },
          "url": {
            "type": "string",
            "description": "URL associated with the option (Optional, valid only for RADIO type)"
          }
        },
        "required": [
          "key",
          "label"
        ]
      },
      "custom_fields_ICustomField": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the object"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom / standard object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "dataType": {
            "type": "string",
            "enum": [
              "TEXT",
              "LARGE_TEXT",
              "NUMERICAL",
              "PHONE",
              "MONETORY",
              "CHECKBOX",
              "SINGLE_OPTIONS",
              "MULTIPLE_OPTIONS",
              "DATE",
              "TEXTBOX_LIST",
              "FILE_UPLOAD",
              "RADIO"
            ],
            "description": "Type of field that you are trying to create"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder",
            "example": "3v34PM428h8vShlRW1KT"
          },
          "fieldKey": {
            "type": "string",
            "description": "Field key. For Custom Object it's formatted as \"custom_object.{objectKey}.{fieldKey}\". \"custom_object\" is a fixed prefix, \"{objectKey}\" is your custom object's identifier, and \"{fieldName}\" is the unique field name within that object. Example: \"custom_object.pet.name\" for a \"name\" field in a \"pet\" custom object.",
            "example": "custom_object.pet.name"
          },
          "allowCustomOption": {
            "type": "boolean",
            "description": "Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.",
            "example": true
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads",
            "example": 2
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          }
        },
        "required": [
          "locationId",
          "showInForms",
          "id",
          "objectKey",
          "dataType",
          "parentId",
          "fieldKey",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "custom_fields_CustomFieldSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "field": {
            "$ref": "#/components/schemas/custom_fields_ICustomField"
          }
        }
      },
      "custom_fields_CustomFieldsResponseDTO": {
        "type": "object",
        "properties": {
          "fields": {
            "description": "Custom Fields for the object.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_ICustomField"
            }
          },
          "folders": {
            "description": "Custom Fields folder for the object.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_ICustomField"
            }
          }
        }
      },
      "custom_fields_CreateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "dataType": {
            "type": "string",
            "enum": [
              "TEXT",
              "LARGE_TEXT",
              "NUMERICAL",
              "PHONE",
              "MONETORY",
              "CHECKBOX",
              "SINGLE_OPTIONS",
              "MULTIPLE_OPTIONS",
              "DATE",
              "TEXTBOX_LIST",
              "FILE_UPLOAD",
              "RADIO",
              "EMAIL"
            ],
            "description": "Type of field that you are trying to create"
          },
          "fieldKey": {
            "type": "string",
            "description": "Field key. For Custom Object it's formatted as \"custom_object.{objectKey}.{fieldKey}\". \"custom_object\" is a fixed prefix, \"{objectKey}\" is your custom object's identifier, and \"{fieldKey}\" is the unique field name within that object. Example: \"custom_object.pet.name\" for a \"name\" field in a \"pet\" custom object.",
            "example": "custom_object.pet.name"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads. Applicable only for fields with a data type of FILE_UPLOAD.",
            "example": 2
          },
          "allowCustomOption": {
            "type": "boolean",
            "description": "Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.",
            "example": true
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder"
          }
        },
        "required": [
          "locationId",
          "showInForms",
          "dataType",
          "fieldKey",
          "objectKey",
          "parentId"
        ]
      },
      "custom_fields_CreateFolder": {
        "type": "object",
        "properties": {
          "objectKey": {
            "type": "string",
            "description": "The key for your custom object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "objectKey",
          "name",
          "locationId"
        ]
      },
      "custom_fields_ICustomFieldFolder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the object"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          }
        },
        "required": [
          "id",
          "objectKey",
          "locationId",
          "name"
        ]
      },
      "custom_fields_UpdateFolder": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "name",
          "locationId"
        ]
      },
      "custom_fields_CustomFolderDeleteResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          },
          "id": {
            "type": "string",
            "example": "3v34PM428h8vShlRW1KT"
          },
          "key": {
            "type": "string",
            "example": "custom_object.pet.name"
          }
        },
        "required": [
          "succeded",
          "id",
          "key"
        ]
      },
      "custom_fields_UpdateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field. Important: Providing options will completely replace the existing options array. You must include all existing options alongside any new options you wish to add. Removal of options is not supported through this update. Applicable only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST types.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads. Applicable only for fields with a data type of FILE_UPLOAD.",
            "example": 2
          }
        },
        "required": [
          "locationId",
          "showInForms"
        ]
      },
      "custom_menus_IconSchemaOptional": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the icon",
            "example": "yin-yang"
          },
          "fontFamily": {
            "type": "string",
            "description": "Font family of the icon",
            "enum": [
              "fab",
              "fas",
              "far"
            ]
          }
        }
      },
      "custom_menus_CustomMenuSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the custom menu",
            "example": "12345"
          },
          "icon": {
            "description": "Icon information for the menu item",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_IconSchemaOptional"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title of the custom menu",
            "example": "Dashboard"
          },
          "url": {
            "type": "string",
            "description": "URL of the custom menu",
            "example": "/dashboard"
          },
          "order": {
            "type": "number",
            "description": "Order of the custom menu",
            "example": 1
          },
          "showOnCompany": {
            "type": "boolean",
            "description": "Filter to show only agency-level menu links. When omitted, fetches both agency and sub-account menu links. Ignored if locationId is provided",
            "example": true
          },
          "showOnLocation": {
            "type": "boolean",
            "description": "Whether the menu must be displayed for sub-accounts level",
            "example": true
          },
          "showToAllLocations": {
            "type": "boolean",
            "description": "Whether the menu must be displayed to all sub-accounts",
            "example": true
          },
          "locations": {
            "description": "List of sub-account IDs where the menu should be shown. This list is applicable only when showOnLocation is true and showToAllLocations is false",
            "example": [
              "gfWreTIHL8pDbggBb7af",
              "67WreTIHL8pDbggBb7ty"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "openMode": {
            "type": "string",
            "description": "Mode for opening the menu link",
            "enum": [
              "iframe",
              "new_tab",
              "current_tab"
            ]
          },
          "userRole": {
            "type": "string",
            "description": "Which user-roles should the menu be accessible to?",
            "enum": [
              "all",
              "admin",
              "user"
            ]
          },
          "allowCamera": {
            "type": "boolean",
            "description": "Indicates if camera access is allowed for this menu",
            "example": false
          },
          "allowMicrophone": {
            "type": "boolean",
            "description": "Indicates if microphone access is allowed for this menu",
            "example": false
          }
        }
      },
      "custom_menus_GetCustomMenusResponseDTO": {
        "type": "object",
        "properties": {
          "customMenus": {
            "description": "Array of custom menu links",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_menus_CustomMenuSchema"
            }
          },
          "totalLinks": {
            "type": "number",
            "description": "Total number of custom menu records",
            "example": 100
          }
        }
      },
      "custom_menus_GetSingleCustomMenusSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "customMenu": {
            "description": "Single Custom menu link object",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_CustomMenuSchema"
              }
            ]
          }
        }
      },
      "custom_menus_DeleteCustomMenuSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates whether the custom menu was successfully deleted",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "A message providing additional information about the deletion operation",
            "example": "Custom menu successfully deleted"
          },
          "deletedMenuId": {
            "type": "string",
            "description": "The ID of the deleted custom menu",
            "example": "12345abcde"
          },
          "deletedAt": {
            "type": "string",
            "description": "Timestamp of when the deletion was performed",
            "example": "2023-09-12T15:30:45.123Z",
            "format": "date-time"
          }
        }
      },
      "custom_menus_IconSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the icon",
            "example": "yin-yang"
          },
          "fontFamily": {
            "type": "string",
            "description": "Font family of the icon",
            "enum": [
              "fab",
              "fas",
              "far"
            ]
          }
        },
        "required": [
          "name",
          "fontFamily"
        ]
      },
      "custom_menus_CreateCustomMenuDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the custom menu",
            "example": "Custom Menu"
          },
          "url": {
            "type": "string",
            "description": "URL of the custom menu",
            "example": "https://custom-menus.com/"
          },
          "icon": {
            "description": "Icon information for the custom menu",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_IconSchema"
              }
            ]
          },
          "showOnCompany": {
            "type": "boolean",
            "description": "Whether the menu must be displayed on the agency's level",
            "example": true,
            "default": true
          },
          "showOnLocation": {
            "type": "boolean",
            "description": "Whether the menu must be displayed for sub-accounts level",
            "example": true,
            "default": true
          },
          "showToAllLocations": {
            "type": "boolean",
            "description": "Whether the menu must be displayed to all sub-accounts",
            "example": true,
            "default": true
          },
          "openMode": {
            "type": "string",
            "description": "Mode for opening the menu link",
            "enum": [
              "iframe",
              "new_tab",
              "current_tab"
            ]
          },
          "locations": {
            "description": "List of sub-account IDs where the menu should be shown. This list is applicable only when showOnLocation is true and showToAllLocations is false",
            "example": [
              "gfWreTIHL8pDbggBb7af",
              "67WreTIHL8pDbggBb7ty"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userRole": {
            "type": "string",
            "description": "Which user-roles should the menu be accessible to?",
            "enum": [
              "all",
              "admin",
              "user"
            ]
          },
          "allowCamera": {
            "type": "boolean",
            "description": "Whether to allow camera access (only for iframe mode)",
            "example": false
          },
          "allowMicrophone": {
            "type": "boolean",
            "description": "Whether to allow microphone access (only for iframe mode)",
            "example": false
          }
        },
        "required": [
          "title",
          "url",
          "icon",
          "showOnCompany",
          "showOnLocation",
          "showToAllLocations",
          "openMode",
          "locations",
          "userRole"
        ]
      },
      "custom_menus_UpdateCustomMenuDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the custom menu",
            "example": "Custom Menu"
          },
          "url": {
            "type": "string",
            "description": "URL of the custom menu",
            "example": "https://custom-menus.com/"
          },
          "icon": {
            "description": "Icon information for the custom menu",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_IconSchemaOptional"
              }
            ]
          },
          "showOnCompany": {
            "type": "boolean",
            "description": "Whether the menu must be displayed on the agency's level",
            "example": true,
            "default": true
          },
          "showOnLocation": {
            "type": "boolean",
            "description": "Whether the menu must be displayed for sub-accounts level",
            "example": true,
            "default": true
          },
          "showToAllLocations": {
            "type": "boolean",
            "description": "Whether the menu must be displayed to all sub-accounts",
            "example": true,
            "default": true
          },
          "openMode": {
            "type": "string",
            "description": "Mode for opening the menu link",
            "enum": [
              "iframe",
              "new_tab",
              "current_tab"
            ]
          },
          "locations": {
            "description": "List of sub-account IDs where the menu should be shown. This list is applicable only when showOnLocation is true and showToAllLocations is false",
            "example": [
              "gfWreTIHL8pDbggBb7af",
              "67WreTIHL8pDbggBb7ty"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userRole": {
            "type": "string",
            "description": "Which user-roles should the menu be accessible to?",
            "enum": [
              "all",
              "admin",
              "user"
            ]
          },
          "allowCamera": {
            "type": "boolean",
            "description": "Whether to allow camera access (only for iframe mode)",
            "example": false
          },
          "allowMicrophone": {
            "type": "boolean",
            "description": "Whether to allow microphone access (only for iframe mode)",
            "example": false
          }
        }
      },
      "custom_menus_UpdateCustomMenuLinkResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Status of update"
          },
          "customMenu": {
            "description": "Updated custom menu link",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_CustomMenuSchema"
              }
            ]
          }
        }
      },
      "email_isv_EmailNotVerifiedResponseDto": {
        "type": "object",
        "properties": {
          "verified": {
            "type": "boolean",
            "example": false,
            "description": "Email verification not processed"
          },
          "message": {
            "type": "string",
            "example": "Validation is disabled / proper config not found",
            "description": "Email verification failure message"
          },
          "address": {
            "type": "string",
            "example": "abc@xyz.com",
            "description": "Email address"
          }
        },
        "required": [
          "verified"
        ]
      },
      "EmailProviderRecommendationDto": {
        "type": "object",
        "properties": {
          "isEmailValid": {
            "type": "boolean",
            "example": false,
            "description": "Email verification status"
          }
        }
      },
      "email_isv_EmailVerifiedResponseDto": {
        "type": "object",
        "properties": {
          "reason": {
            "example": [
              "mailbox_does_not_exist"
            ],
            "description": "Reason for email verification failure",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "result": {
            "type": "string",
            "example": "undeliverable",
            "enum": [
              "deliverable",
              "undeliverable",
              "do_not_send",
              "unknown",
              "catch_all"
            ],
            "description": "Email verification result"
          },
          "risk": {
            "type": "string",
            "example": "low",
            "enum": [
              "high",
              "low",
              "medium",
              "unknown"
            ],
            "description": "Risk level of email sending to bounce"
          },
          "address": {
            "type": "string",
            "example": "abc@xyz.com",
            "description": "Email address"
          },
          "emailProviderRecomendation": {
            "example": {
              "isEmailValid": false
            },
            "description": "Lead Connector email verification recomendation",
            "allOf": [
              {
                "$ref": "#/components/schemas/EmailProviderRecommendationDto"
              }
            ]
          }
        },
        "required": [
          "result",
          "risk",
          "address",
          "emailProviderRecomendation"
        ]
      },
      "email_isv_VerificationBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "email",
            "enum": [
              "email",
              "contact"
            ],
            "description": "Email Verification type"
          },
          "verify": {
            "type": "string",
            "example": "abc@xyz.com",
            "description": "Email Verification recepient (email address / contactId)"
          }
        },
        "required": [
          "type",
          "verify"
        ]
      },
      "emails_ScheduleDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Untitled new campaign"
          },
          "repeatAfter": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "parentId": {
            "type": "string"
          },
          "childCount": {
            "type": "number"
          },
          "campaignType": {
            "type": "string"
          },
          "bulkActionVersion": {
            "type": "string"
          },
          "_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "sendDays": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean"
          },
          "migrated": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "hasTracking": {
            "type": "boolean"
          },
          "isPlainText": {
            "type": "boolean"
          },
          "hasUtmTracking": {
            "type": "boolean"
          },
          "enableResendToUnopened": {
            "type": "boolean"
          },
          "locationId": {
            "type": "string"
          },
          "templateId": {
            "type": "string"
          },
          "templateType": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "__v": {
            "type": "number"
          },
          "documentId": {
            "type": "string"
          },
          "downloadUrl": {
            "type": "string"
          },
          "templateDataDownloadUrl": {
            "type": "string"
          },
          "child": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "repeatAfter",
          "id",
          "parentId",
          "childCount",
          "campaignType",
          "bulkActionVersion",
          "_id",
          "status",
          "sendDays",
          "deleted",
          "migrated",
          "archived",
          "hasTracking",
          "isPlainText",
          "hasUtmTracking",
          "enableResendToUnopened",
          "locationId",
          "templateId",
          "templateType",
          "createdAt",
          "updatedAt",
          "__v",
          "documentId",
          "downloadUrl",
          "templateDataDownloadUrl",
          "child"
        ]
      },
      "emails_ScheduleFetchSuccessfulDTO": {
        "type": "object",
        "properties": {
          "schedules": {
            "description": "The list of campaigns",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_ScheduleDto"
            }
          },
          "total": {
            "description": "The total number of campaigns",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "traceId": {
            "type": "string",
            "description": "Trace Id"
          }
        },
        "required": [
          "schedules",
          "total",
          "traceId"
        ]
      },
      "emails_InvalidLocationDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 403
          },
          "message": {
            "type": "string",
            "example": "The token does not have access to this location"
          }
        }
      },
      "emails_NotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Not Found"
          },
          "error": {
            "type": "string",
            "example": "The requested resource was not found"
          }
        }
      },
      "emails_CreateBuilderDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "title": {
            "type": "string",
            "example": "template title"
          },
          "type": {
            "type": "string",
            "enum": [
              "html",
              "folder",
              "import",
              "builder",
              "blank"
            ]
          },
          "updatedBy": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "builderVersion": {
            "type": "string",
            "enum": [
              "1",
              "2"
            ],
            "default": "2"
          },
          "name": {
            "type": "string",
            "example": "Template1"
          },
          "parentId": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "templateDataUrl": {
            "type": "string",
            "example": ""
          },
          "importProvider": {
            "type": "string",
            "enum": [
              "mailchimp",
              "active_campaign",
              "kajabi"
            ]
          },
          "importURL": {
            "type": "string",
            "example": "https://tplshare.com/fhYJ3Mi"
          },
          "templateSource": {
            "type": "string",
            "example": "template_library"
          },
          "isPlainText": {
            "type": "boolean",
            "example": false
          }
        },
        "required": [
          "locationId",
          "type",
          "importProvider"
        ]
      },
      "emails_CreateBuilderSuccesfulResponseDto": {
        "type": "object",
        "properties": {
          "redirect": {
            "type": "string",
            "example": "66e811229245fc098765590",
            "description": "template id"
          },
          "traceId": {
            "type": "string",
            "example": "0c52e980-41f6-4be7-8c4b-e2c5a13dc3c2",
            "description": "trace id"
          }
        },
        "required": [
          "redirect",
          "traceId"
        ]
      },
      "emails_FetchBuilderSuccesfulResponseDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "New Template",
            "description": "template name"
          },
          "updatedBy": {
            "type": "string",
            "example": "John Doe",
            "description": "updated by"
          },
          "isPlainText": {
            "type": "boolean",
            "example": "false",
            "description": "plain text based template"
          },
          "lastUpdated": {
            "type": "string",
            "example": "2024-11-12T12:34:36.070Z",
            "description": "last updated"
          },
          "dateAdded": {
            "type": "string",
            "example": "2024-11-12T12:34:36.070Z",
            "description": "date added"
          },
          "previewUrl": {
            "type": "string",
            "example": "https://example.com",
            "description": "preview url"
          },
          "id": {
            "type": "string",
            "example": "67334b231f2fad724062f52b5",
            "description": "id"
          },
          "version": {
            "type": "string",
            "example": "1",
            "description": "version"
          },
          "templateType": {
            "type": "string",
            "example": "builder",
            "description": "type"
          }
        }
      },
      "emails_DeleteBuilderSuccesfulResponseDto": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "string",
            "example": "true",
            "description": "ok"
          },
          "traceId": {
            "type": "string",
            "example": "0c52e980-41f6-4be7-8c4b-32332ss",
            "description": "trace id"
          }
        }
      },
      "emails_TemplateSettings": {
        "type": "object",
        "properties": {}
      },
      "emails_IBuilderJsonMapper": {
        "type": "object",
        "properties": {
          "elements": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "attrs": {
            "type": "object"
          },
          "templateSettings": {
            "$ref": "#/components/schemas/emails_TemplateSettings"
          }
        },
        "required": [
          "elements",
          "attrs",
          "templateSettings"
        ]
      },
      "emails_SaveBuilderDataDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "templateId": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "updatedBy": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "dnd": {
            "example": "{elements:[], attrs:{}, templateSettings:{}}",
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_IBuilderJsonMapper"
              }
            ]
          },
          "html": {
            "type": "string",
            "example": ""
          },
          "editorType": {
            "type": "string",
            "enum": [
              "html",
              "builder"
            ]
          },
          "previewText": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "isPlainText": {
            "type": "boolean",
            "example": "false"
          }
        },
        "required": [
          "locationId",
          "templateId",
          "updatedBy",
          "dnd",
          "html",
          "editorType"
        ]
      },
      "emails_BuilderUpdateSuccessfulDTO": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "string",
            "example": "true",
            "description": "ok"
          },
          "traceId": {
            "type": "string",
            "example": "0c52e980-41f6-4be7-8c4b-32332ss",
            "description": "trace id"
          },
          "previewUrl": {
            "type": "string",
            "example": "https://example.com",
            "description": "preview url"
          },
          "templateDownloadUrl": {
            "type": "string",
            "example": "https://example.com",
            "description": "template data download url"
          }
        }
      },
      "forms_PageDetailsSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://example.com"
          },
          "title": {
            "type": "string",
            "example": "Example Page"
          }
        }
      },
      "forms_ContactSessionIds": {
        "type": "object",
        "properties": {
          "ids": {
            "example": [
              "session1",
              "session2"
            ],
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "forms_EventDataSchema": {
        "type": "object",
        "properties": {
          "fbc": {
            "type": "string",
            "example": "fb.1.123456789.987654321"
          },
          "fbp": {
            "type": "string",
            "example": "fbp.1.987654321.123456789"
          },
          "page": {
            "$ref": "#/components/schemas/forms_PageDetailsSchema"
          },
          "type": {
            "type": "string",
            "example": "page-visit"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "medium": {
            "type": "string",
            "example": "form"
          },
          "source": {
            "type": "string",
            "example": "Direct traffic"
          },
          "version": {
            "type": "string",
            "example": "v3"
          },
          "adSource": {
            "type": "string",
            "example": "example-ad-source"
          },
          "mediumId": {
            "type": "string",
            "example": "medium-id-123"
          },
          "parentId": {
            "type": "string",
            "example": "parent-id-456"
          },
          "referrer": {
            "type": "string",
            "example": "https://staging.crm.gesvision.com"
          },
          "fbEventId": {
            "type": "string",
            "example": "event-id-789"
          },
          "timestamp": {
            "type": "number",
            "example": 1234567890
          },
          "parentName": {
            "type": "string",
            "example": "Parent Form"
          },
          "fingerprint": {
            "type": "string",
            "example": "example-fingerprint"
          },
          "pageVisitType": {
            "type": "string",
            "example": "form"
          },
          "contactSessionIds": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/forms_ContactSessionIds"
              }
            ]
          }
        }
      },
      "forms_othersSchema": {
        "type": "object",
        "properties": {
          "__submissions_other_field__": {
            "type": "string",
            "example": "john@deo.com"
          },
          "__custom_field_id__": {
            "type": "string",
            "example": "20"
          },
          "eventData": {
            "$ref": "#/components/schemas/forms_EventDataSchema"
          },
          "fieldsOriSequance": {
            "example": [
              "full_name",
              "first_name",
              "last_name",
              "phone",
              "email"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "forms_FormsSubmissionsSubmissionsSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "38303ec7-629a-49e2-888a-cf8bf0b1f97e"
          },
          "contactId": {
            "type": "string",
            "example": "DWQ45t2IPVxi9LDu1wBl"
          },
          "createdAt": {
            "type": "string",
            "example": "2021-06-23T06:07:04.000Z"
          },
          "formId": {
            "type": "string",
            "example": "YSWdvS4Is98wtIDGnpmI"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "email": {
            "type": "string",
            "example": "test@test.com"
          },
          "others": {
            "$ref": "#/components/schemas/forms_othersSchema"
          }
        }
      },
      "forms_metaSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 1
          },
          "currentPage": {
            "type": "number",
            "example": 1
          },
          "nextPage": {
            "type": "number",
            "example": null,
            "nullable": true
          },
          "prevPage": {
            "type": "number",
            "example": null,
            "nullable": true
          }
        }
      },
      "forms_FormsSubmissionsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/forms_FormsSubmissionsSubmissionsSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/forms_metaSchema"
          }
        }
      },
      "forms_FormsParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "YSWdvS4Is98wtIDGnpmI"
          },
          "name": {
            "type": "string",
            "example": "Form 1"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "forms_FormsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/forms_FormsParams"
            }
          },
          "total": {
            "type": "number",
            "example": "20",
            "description": "Total number of forms"
          }
        }
      },
      "funnels_CreateRedirectParams": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "path": {
            "type": "string",
            "example": "/Hello"
          },
          "target": {
            "type": "string",
            "example": "https://www.google.com"
          },
          "action": {
            "type": "string",
            "example": "URL",
            "enum": [
              "funnel",
              "website",
              "url",
              "all"
            ]
          }
        },
        "required": [
          "locationId",
          "domain",
          "path",
          "target",
          "action"
        ]
      },
      "funnels_RedirectResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT",
            "description": "Unique identifier of the redirect"
          },
          "locationId": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT",
            "description": "Identifier of the location associated with the redirect"
          },
          "domain": {
            "type": "string",
            "example": "www.example.com",
            "description": "Domain where the redirect occurs"
          },
          "path": {
            "type": "string",
            "example": "/old-path",
            "description": "Original path that will be redirected"
          },
          "pathLowercase": {
            "type": "string",
            "example": "/old-path",
            "description": "Lowercase version of the original path"
          },
          "type": {
            "type": "string",
            "example": "Permanent",
            "description": "Type of redirect (e.g., Permanent, Temporary)"
          },
          "target": {
            "type": "string",
            "example": "https://www.example.com/new-path",
            "description": "Target URL to which the original path will be redirected"
          },
          "action": {
            "type": "string",
            "example": "url",
            "description": "Action performed by the redirect"
          }
        },
        "required": [
          "id",
          "locationId",
          "domain",
          "path",
          "pathLowercase",
          "type",
          "target",
          "action"
        ]
      },
      "funnels_CreateRedirectResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Data containing details of the created redirect",
            "allOf": [
              {
                "$ref": "#/components/schemas/funnels_RedirectResponseDTO"
              }
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_UpdateRedirectParams": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "example": "https://www.google.com"
          },
          "action": {
            "type": "string",
            "example": "URL",
            "enum": [
              "funnel",
              "website",
              "url",
              "all"
            ]
          },
          "locationId": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT"
          }
        },
        "required": [
          "target",
          "action",
          "locationId"
        ]
      },
      "funnels_RedirectListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "example": {
              "count": 42,
              "data": []
            },
            "description": "Object containing the count of redirects and an array of redirect data"
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_DeleteRedirectResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "example": {
              "status": "ok"
            },
            "description": "Status of the delete operation"
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_UpdateRedirectResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Data containing details of the updated redirect",
            "allOf": [
              {
                "$ref": "#/components/schemas/funnels_RedirectResponseDTO"
              }
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_FunnelPageResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "0yJbP3q7t7pLmeTWRAE2"
          },
          "locationId": {
            "type": "string",
            "example": "ojQjykmwNIU88vfsfzvH"
          },
          "funnelId": {
            "type": "string",
            "example": "iucJ6TdFZiddhq9f6znh"
          },
          "name": {
            "type": "string",
            "example": "Home"
          },
          "stepId": {
            "type": "string",
            "example": "343bf634-3aa6-4ade-b963-2d3cd0bf2ede"
          },
          "deleted": {
            "type": "string",
            "example": false
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-04-18T12:25:23.029Z"
          }
        },
        "required": [
          "locationId",
          "name",
          "funnelId",
          "stepId",
          "deleted",
          "updatedAt",
          "_id"
        ]
      },
      "funnels_FunnelPageCountResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "example": 20
          }
        },
        "required": [
          "count"
        ]
      },
      "funnels_FunnelListResponseDTO": {
        "type": "object",
        "properties": {
          "funnels": {
            "type": "object",
            "example": {
              "_id": "SkIDfu0S4m3NYQyvWHC6",
              "dateAdded": "2024-04-29T15:00:05.681Z",
              "dateUpdated": "2024-04-29T15:00:28.465Z",
              "deleted": false,
              "domainId": "",
              "locationId": "ojQjykmwNIU88vfsfzvH",
              "name": "Chaitanya Copy",
              "orderFormVersion": 2,
              "originId": "hAmyh7jrJH5FfEEKAJ9z",
              "steps": [
                {
                  "id": "f5d178c0-8bbb-4cd4-927c-691c68a62c59",
                  "name": "Step 1",
                  "originId": "80b2f227-5bc8-4ca5-980d-817745ea4e8b",
                  "pages": [
                    "2IhBmBcQRx9JXV1JZsRt"
                  ],
                  "products": [],
                  "sequence": 1,
                  "type": "optin_funnel_page",
                  "url": "/newtestifypath"
                }
              ],
              "type": "funnel",
              "updatedAt": "2024-04-29T15:00:34.233Z",
              "faviconUrl": "",
              "globalSectionVersion": 1,
              "globalSectionsPath": "funnel/SkIDfu0S4m3NYQyvWHC6/global-sections-1",
              "globalSectionsUrl": "https://firebasestorage.googleapis.com/v0/b/crm-gesvision-staging.appspot.com/o/funnel%2FSkIDfu0S4m3NYQyvWHC6%2Fglobal-sections-1?alt=media&token=9cc5c211-093b-4751-aeba-19282ac92955",
              "isStoreActive": false,
              "trackingCodeBody": "",
              "trackingCodeHead": "",
              "url": "/chaitanya"
            }
          },
          "count": {
            "type": "number",
            "example": 24
          },
          "traceId": {
            "type": "string",
            "example": "03774d31-a57e-4b4f-95c7-315ce61969f1"
          }
        },
        "required": [
          "funnels",
          "count",
          "traceId"
        ]
      },
      "invoices_AddressDto": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string",
            "description": "Address Line 1",
            "example": "9931 Beechwood"
          },
          "addressLine2": {
            "type": "string",
            "description": "Address Line 2",
            "example": "Beechwood"
          },
          "city": {
            "type": "string",
            "description": "City",
            "example": "St. Houston"
          },
          "state": {
            "type": "string",
            "description": "State",
            "example": "TX"
          },
          "countryCode": {
            "type": "string",
            "description": "Country Code",
            "example": "US"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal Code",
            "example": "559-6993"
          }
        }
      },
      "invoices_BusinessDetailsDto": {
        "type": "object",
        "properties": {
          "logoUrl": {
            "type": "string",
            "description": "Business Logo URL",
            "example": "https://example.com/logo.png"
          },
          "name": {
            "type": "string",
            "description": "Business Name",
            "example": "ABC Corp."
          },
          "phoneNo": {
            "type": "string",
            "description": "Business Phone Number",
            "example": "+1-214-559-6993"
          },
          "address": {
            "description": "Business Address",
            "example": "9931 Beechwood, TX",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AddressDto"
              }
            ]
          },
          "website": {
            "type": "string",
            "description": "Business Website Link",
            "example": "wwww.example.com"
          },
          "customValues": {
            "description": "Custom Values",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "invoices_ItemTaxDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "calculation": {
            "type": "string",
            "enum": [
              "exclusive"
            ]
          },
          "description": {
            "type": "string"
          },
          "taxId": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "rate"
        ]
      },
      "invoices_InvoiceItemDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Invoice Item Name",
            "example": "ABC Product"
          },
          "description": {
            "type": "string",
            "description": "Invoice descriptions",
            "example": "ABC Corp."
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "priceId": {
            "type": "string",
            "description": "Price Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "Product amount",
            "example": 999
          },
          "qty": {
            "type": "number",
            "description": "Product Quantity",
            "example": 1
          },
          "taxes": {
            "description": "Tax",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_ItemTaxDto"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category id for calculating automatic tax",
            "example": "6578278e879ad2646715ba9c"
          },
          "isSetupFeeItem": {
            "type": "boolean",
            "description": "Setupfee item, only created when 1st invoice of recurring schedule is generated"
          },
          "type": {
            "type": "string",
            "description": "Price type of the item",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "true if item amount is tax inclusive",
            "example": true,
            "default": false
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "qty"
        ]
      },
      "invoices_DiscountDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Discount Value",
            "example": 10,
            "default": 0
          },
          "type": {
            "type": "string",
            "description": "Discount type",
            "enum": [
              "percentage",
              "fixed"
            ],
            "example": "percentage",
            "default": "percentage"
          },
          "validOnProductIds": {
            "description": "Product Ids on which discount is applicable",
            "example": "[ '6579751d56f60276e5bd4154' ]",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type"
        ]
      },
      "invoices_TipsConfigurationDto": {
        "type": "object",
        "properties": {
          "tipsPercentage": {
            "description": "Percentage of tips allowed",
            "example": [
              5,
              10,
              15
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tipsEnabled": {
            "type": "boolean",
            "description": "Tips enabled status",
            "example": true
          }
        },
        "required": [
          "tipsPercentage",
          "tipsEnabled"
        ]
      },
      "invoices_LateFeesFrequencyDto": {
        "type": "object",
        "properties": {
          "intervalCount": {
            "type": "number",
            "description": "Late fees interval count",
            "example": 10
          },
          "interval": {
            "type": "string",
            "description": "Late fees interval",
            "example": "day",
            "enum": [
              "minute",
              "hour",
              "day",
              "week",
              "month",
              "one_time"
            ]
          }
        },
        "required": [
          "intervalCount",
          "interval"
        ]
      },
      "invoices_LateFeesGraceDto": {
        "type": "object",
        "properties": {
          "intervalCount": {
            "type": "number",
            "description": "Late fees grace interval count",
            "example": 10
          },
          "interval": {
            "type": "string",
            "description": "Late fees grace interval",
            "example": "day",
            "enum": [
              "day"
            ]
          }
        },
        "required": [
          "intervalCount",
          "interval"
        ]
      },
      "invoices_LateFeesMaxFeesDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "fixed",
            "enum": [
              "fixed"
            ]
          },
          "value": {
            "type": "number",
            "example": "10",
            "description": "Max late fees to pay"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "invoices_LateFeesConfigurationDto": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "Enable late fees",
            "example": true
          },
          "value": {
            "type": "number",
            "description": "Late Fees Value",
            "example": 10
          },
          "type": {
            "type": "string",
            "description": "Late Fees Type",
            "example": "fixed",
            "enum": [
              "fixed",
              "percentage"
            ]
          },
          "frequency": {
            "description": "Late Fees Frequency",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesFrequencyDto"
              }
            ]
          },
          "grace": {
            "description": "Late Fees Grace",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesGraceDto"
              }
            ]
          },
          "maxLateFees": {
            "description": "Max late fees payable",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesMaxFeesDto"
              }
            ]
          }
        },
        "required": [
          "enable",
          "value",
          "type",
          "frequency"
        ]
      },
      "invoices_StripePaymentMethodDto": {
        "type": "object",
        "properties": {
          "enableBankDebitOnly": {
            "type": "boolean",
            "description": "Enable Bank Debit Only",
            "example": false
          }
        },
        "required": [
          "enableBankDebitOnly"
        ]
      },
      "invoices_PaymentMethodDto": {
        "type": "object",
        "properties": {
          "stripe": {
            "description": "Payment Method",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_StripePaymentMethodDto"
              }
            ]
          }
        },
        "required": [
          "stripe"
        ]
      },
      "invoices_ProcessingFeePaidChargeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "name of the processing fee",
            "example": "Processing Fee"
          },
          "charge": {
            "type": "number",
            "description": "charge for the processing fee",
            "example": 10
          },
          "amount": {
            "type": "number",
            "description": "amount of the processing fee",
            "example": 10
          },
          "_id": {
            "type": "string",
            "description": "id of the processing fee",
            "example": "673d01d7d547648a8dab6211"
          }
        },
        "required": [
          "name",
          "charge",
          "amount",
          "_id"
        ]
      },
      "invoices_ProcessingFeeDto": {
        "type": "object",
        "properties": {
          "charges": {
            "description": "charges for the processing fee",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "collectedMiscellaneousCharges": {
            "type": "number",
            "description": "collected miscellaneous charges",
            "example": 10
          },
          "paidCharges": {
            "description": "paid miscellaneous charges",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_ProcessingFeePaidChargeDto"
            }
          }
        },
        "required": [
          "charges"
        ]
      },
      "invoices_CreateInvoiceTemplateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "internal": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "Name of the template",
            "example": "New Template"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Template title",
            "example": "New Template"
          },
          "tipsConfiguration": {
            "description": "Configuration for tips on invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_TipsConfigurationDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "Late fees configuration for the invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items"
        ]
      },
      "invoices_CreateInvoiceTemplateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Template Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Template",
            "example": "New Template"
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "total",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_GetTemplateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Template Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Template",
            "example": "New Template"
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "total",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_ListTemplatesResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_GetTemplateResponseDto"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of Templates",
            "example": 100
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "invoices_UpdateInvoiceTemplateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "internal": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "Name of the template",
            "example": "New Template"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Template title",
            "example": "New Template"
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items"
        ]
      },
      "invoices_UpdateInvoiceTemplateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Template Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Template",
            "example": "New Template"
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "total",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_UpdateInvoiceLateFeesConfigurationDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "lateFeesConfiguration": {
            "description": "late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesConfigurationDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "lateFeesConfiguration"
        ]
      },
      "invoices_UpdatePaymentMethodsConfigurationDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_DeleteInvoiceTemplateResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "success",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "invoices_AdditionalEmailsDto": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "example": "alex@example.com"
          }
        },
        "required": [
          "email"
        ]
      },
      "invoices_ContactDetailsDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Contact ID",
            "example": "6578278e879ad2646715ba9c"
          },
          "name": {
            "type": "string",
            "description": "Contact Name",
            "example": "Alex"
          },
          "phoneNo": {
            "type": "string",
            "description": "Contact Phone Number",
            "example": "+1234567890"
          },
          "email": {
            "type": "string",
            "description": "Contact Email",
            "example": "alex@example.com"
          },
          "additionalEmails": {
            "description": "Secondary email addresses for the contact to be saved",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AdditionalEmailsDto"
            }
          },
          "companyName": {
            "type": "string",
            "description": "Contact Company Name",
            "example": "ABC Corp."
          },
          "address": {
            "$ref": "#/components/schemas/invoices_AddressDto"
          },
          "customFields": {
            "description": "Custom Values",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name",
          "phoneNo",
          "email"
        ]
      },
      "invoices_CustomRRuleOptionsDto": {
        "type": "object",
        "properties": {
          "intervalType": {
            "type": "string",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly",
              "minutely",
              "secondly"
            ],
            "example": "monthly"
          },
          "interval": {
            "type": "number",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "startTime": {
            "type": "string",
            "description": "Start time in HH:mm:ss format",
            "example": "20:45:00"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DD format",
            "example": "2029-11-01"
          },
          "endTime": {
            "type": "string",
            "description": "End time in HH:mm:ss format",
            "example": "18:45:00"
          },
          "dayOfMonth": {
            "type": "number",
            "description": "-1, 1, 2, 3, ..., 27, 28",
            "example": 15
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "mo",
              "tu",
              "we",
              "th",
              "fr",
              "sa",
              "su"
            ],
            "example": "mo"
          },
          "numOfWeek": {
            "type": "number",
            "description": "-1, 1, 2, 3, 4",
            "example": -1
          },
          "monthOfYear": {
            "type": "string",
            "enum": [
              "jan",
              "feb",
              "mar",
              "apr",
              "may",
              "jun",
              "jul",
              "aug",
              "sep",
              "oct",
              "nov",
              "dec"
            ],
            "example": "jan"
          },
          "count": {
            "type": "number",
            "description": "Max number of task executions",
            "example": 10
          },
          "daysBefore": {
            "type": "number",
            "description": "Execute task number of days before",
            "example": 5
          },
          "useStartAsPrimaryUserAccepted": {
            "type": "boolean",
            "description": "Start as primary user accepted date",
            "example": true
          },
          "endType": {
            "type": "string",
            "description": "End type like after, by, count",
            "example": "by"
          }
        },
        "required": [
          "intervalType",
          "interval",
          "startDate"
        ]
      },
      "invoices_ScheduleOptionsDto": {
        "type": "object",
        "properties": {
          "executeAt": {
            "type": "string"
          },
          "rrule": {
            "$ref": "#/components/schemas/invoices_CustomRRuleOptionsDto"
          }
        }
      },
      "invoices_AttachmentsDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the file selected",
            "example": "6241712be68f7a98102ba272"
          },
          "name": {
            "type": "string",
            "description": "Name of the file ",
            "example": "Electronics.pdf"
          },
          "url": {
            "type": "string",
            "description": "URL of the file",
            "example": "https://example.com/digital-delivery"
          },
          "type": {
            "type": "string",
            "description": "Type of the file"
          },
          "size": {
            "type": "number",
            "description": "Size of the file",
            "example": 10000
          }
        },
        "required": [
          "id",
          "name",
          "url",
          "type",
          "size"
        ]
      },
      "invoices_CreateInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/invoices_ContactDetailsDto"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "tipsConfiguration": {
            "description": "Configuration for tips on invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_TipsConfigurationDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "Late fees configuration for the invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "contactDetails",
          "schedule",
          "liveMode",
          "businessDetails",
          "currency",
          "items",
          "discount"
        ]
      },
      "invoices_DefaultInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_CreateInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_GetScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_ListSchedulesResponseDto": {
        "type": "object",
        "properties": {
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_GetScheduleResponseDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of Schedules",
            "example": 100
          }
        },
        "required": [
          "schedules",
          "total"
        ]
      },
      "invoices_UpdateInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/invoices_ContactDetailsDto"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "contactDetails",
          "schedule",
          "liveMode",
          "businessDetails",
          "currency",
          "items",
          "discount"
        ]
      },
      "invoices_UpdateInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_DeleteInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "success",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "invoices_UpdateAndScheduleInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_CardDto": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "brand",
          "last4"
        ]
      },
      "invoices_USBankAccountDto": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "bank_name",
          "last4"
        ]
      },
      "invoices_SepaDirectDebitDTO": {
        "type": "object",
        "properties": {
          "bank_code": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          },
          "branch_code": {
            "type": "string"
          }
        },
        "required": [
          "bank_code",
          "last4",
          "branch_code"
        ]
      },
      "invoices_BacsDirectDebitDTO": {
        "type": "object",
        "properties": {
          "sort_code": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "sort_code",
          "last4"
        ]
      },
      "invoices_BecsDirectDebitDTO": {
        "type": "object",
        "properties": {
          "bsb_number": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "bsb_number",
          "last4"
        ]
      },
      "invoices_AutoPaymentDetailsDto": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "paymentMethodId": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "card": {
            "$ref": "#/components/schemas/invoices_CardDto"
          },
          "usBankAccount": {
            "$ref": "#/components/schemas/invoices_USBankAccountDto"
          },
          "sepaDirectDebit": {
            "$ref": "#/components/schemas/invoices_SepaDirectDebitDTO"
          },
          "bacsDirectDebit": {
            "$ref": "#/components/schemas/invoices_BacsDirectDebitDTO"
          },
          "becsDirectDebit": {
            "$ref": "#/components/schemas/invoices_BecsDirectDebitDTO"
          },
          "cardId": {
            "type": "string"
          },
          "provider": {
            "type": "object"
          }
        },
        "required": [
          "enable"
        ]
      },
      "invoices_ScheduleInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "liveMode": {
            "type": "boolean"
          },
          "autoPayment": {
            "description": "auto-payment configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AutoPaymentDetailsDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "liveMode"
        ]
      },
      "invoices_ScheduleInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_AutoPaymentScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "id": {
            "type": "string"
          },
          "autoPayment": {
            "description": "auto-payment configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AutoPaymentDetailsDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "id",
          "autoPayment"
        ]
      },
      "invoices_AutoPaymentInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_CancelInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_CancelInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_SentToDto": {
        "type": "object",
        "properties": {
          "email": {
            "description": "Email Address",
            "example": [
              "alex@example.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailCc": {
            "description": "cc to be kept in any sent out emails",
            "example": [
              "alex@example.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailBcc": {
            "description": "bcc to be kept in any sent out emails",
            "example": [
              "alex@example.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "phoneNo": {
            "description": "Contact Phone Number",
            "example": [
              "+1-214-559-6993"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "email"
        ]
      },
      "invoices_PaymentScheduleDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Payment schedule type",
            "enum": [
              "fixed",
              "percentage"
            ],
            "example": "percentage"
          },
          "schedules": {
            "description": "payment schedule item",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type",
          "schedules"
        ]
      },
      "invoices_Text2PayDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Invoice Name",
            "example": "New Invoice"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the invoice.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the invoice",
            "example": "INVOICE"
          },
          "contactDetails": {
            "description": "Contact information to send the invoice to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "example": "1001"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-14"
          },
          "sentTo": {
            "$ref": "#/components/schemas/invoices_SentToDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "paymentSchedule": {
            "description": "split invoice into payment schedule summing up to full invoice amount",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentScheduleDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesConfigurationDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "tips configuration for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_TipsConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "id of invoice to update. If skipped, a new invoice will be created"
          },
          "includeTermsNote": {
            "type": "boolean",
            "description": "include terms & notes with receipts",
            "example": true
          },
          "action": {
            "type": "string",
            "description": "create invoice in draft mode or send mode",
            "example": "draft",
            "enum": [
              "draft",
              "send"
            ]
          },
          "userId": {
            "type": "string",
            "description": "id of user generating invoice"
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "items",
          "contactDetails",
          "issueDate",
          "sentTo",
          "liveMode",
          "action",
          "userId"
        ]
      },
      "invoices_Text2PayInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
          },
          "invoiceUrl": {
            "type": "string",
            "description": "preview url of generated invoice"
          }
        },
        "required": [
          "invoice",
          "invoiceUrl"
        ]
      },
      "invoices_GenerateInvoiceNumberResponseDto": {
        "type": "object",
        "properties": {
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          }
        }
      },
      "invoices_CustomNotificationItemDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Flag indicating if the notification is enabled or not"
          },
          "emailTemplate": {
            "type": "string",
            "description": "Template to be used for sending email"
          },
          "smsTemplate": {
            "type": "string",
            "description": "Template to be used for sending sms"
          },
          "fromName": {
            "type": "string",
            "description": "Name to be used while sending email",
            "example": "Alex"
          },
          "fromEmail": {
            "type": "string",
            "description": "Email address to be used for sending email",
            "example": "alex@example.com"
          },
          "emailSubject": {
            "type": "string",
            "description": "Subject of email which is sent out",
            "example": "Thank you for purchasing"
          },
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "Default email TemplateId to be used for sending via email",
            "example": "dhwjqi2899012990w2u"
          }
        },
        "required": [
          "enabled",
          "emailTemplate",
          "smsTemplate"
        ]
      },
      "invoices_CustomNotificationDto": {
        "type": "object",
        "properties": {
          "customerSendInvoice": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamAutoPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerAutoPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamPaymentFailure": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerPaymentFailure": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamAutoPaymentFailure": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerAutoPaymentFailure": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerAutoPaymentInfo": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerAutoPaymentAmountChanged": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamAutoPaymentSkip": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamRecurringSendInvoiceFailed": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "customerSendEstimate": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamEstimateAccepted": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          },
          "teamEstimateDeclined": {
            "$ref": "#/components/schemas/invoices_CustomNotificationItemDto"
          }
        },
        "required": [
          "customerSendInvoice",
          "teamPaymentSuccess",
          "customerPaymentSuccess",
          "teamAutoPaymentSuccess",
          "customerAutoPaymentSuccess",
          "teamPaymentFailure",
          "customerPaymentFailure",
          "teamAutoPaymentFailure",
          "customerAutoPaymentFailure",
          "customerAutoPaymentInfo",
          "customerAutoPaymentAmountChanged",
          "teamAutoPaymentSkip",
          "teamRecurringSendInvoiceFailed",
          "customerSendEstimate",
          "teamEstimateAccepted",
          "teamEstimateDeclined"
        ]
      },
      "invoices_Address": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string"
          }
        }
      },
      "invoices_InvoiceSettingsBusinessDetailsDto": {
        "type": "object",
        "properties": {
          "logoUrl": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phoneNo": {
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/invoices_Address"
          },
          "website": {
            "type": "string"
          },
          "customValues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "invoices_InvoiceSettingsSenderConfigurationDto": {
        "type": "object",
        "properties": {
          "fromName": {
            "type": "string",
            "description": "Sender name to be used while sending email notification",
            "example": "Alex"
          },
          "fromEmail": {
            "type": "string",
            "description": "Email id to be used while sending email notification",
            "example": "alex@example.com"
          }
        }
      },
      "invoices_InvoiceProductSettingsDto": {
        "type": "object",
        "properties": {
          "enableImportProductDescription": {
            "type": "boolean",
            "description": "Flag indicating if the product description import is enabled or not",
            "example": true
          },
          "descriptionOptional": {
            "type": "boolean",
            "description": "Flag indicating if the product description is optional or not",
            "example": true
          }
        }
      },
      "invoices_ReminderDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Flag indicating if the reminder is enabled or not",
            "example": true
          },
          "emailTemplate": {
            "type": "string",
            "description": "Email template to be used for sending reminders",
            "example": "default"
          },
          "smsTemplate": {
            "type": "string",
            "description": "SMS template to be used for sending reminders",
            "example": "default"
          },
          "emailSubject": {
            "type": "string",
            "description": "Subject of the reminder",
            "example": "Reminder"
          },
          "reminderId": {
            "type": "string",
            "description": "Unique identifier for the reminder",
            "example": "9333e45f-a27d-4659-90e5-76c5ef06d094"
          },
          "reminderName": {
            "type": "string",
            "description": "Name of the reminder",
            "example": "Special Reminder"
          },
          "reminderTime": {
            "type": "string",
            "description": "Time condition for the reminder",
            "example": "before",
            "enum": [
              "before",
              "after"
            ]
          },
          "intervalType": {
            "type": "string",
            "description": "Interval type for the reminder",
            "example": "daily",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly",
              "minutely",
              "secondly"
            ]
          },
          "maxReminders": {
            "type": "number",
            "description": "Maximum number of reminders that can be sent",
            "example": 3
          },
          "reminderInvoiceCondition": {
            "type": "string",
            "description": "Condition for sending the reminder",
            "example": "invoice_sent",
            "enum": [
              "invoice_sent",
              "invoice_overdue"
            ]
          },
          "reminderNumber": {
            "type": "number",
            "description": "frequency gap of the reminder to exeucte",
            "example": 10
          },
          "startTime": {
            "type": "string",
            "description": "Business Hour Start Time",
            "example": "9:00 AM"
          },
          "endTime": {
            "type": "string",
            "description": "Business Hour End Time",
            "example": "5:00 PM"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone at which reminder will be sent",
            "example": "businessTZ"
          }
        },
        "required": [
          "enabled",
          "emailTemplate",
          "smsTemplate",
          "emailSubject",
          "reminderId",
          "reminderName",
          "reminderTime",
          "intervalType",
          "maxReminders",
          "reminderInvoiceCondition",
          "reminderNumber"
        ]
      },
      "invoices_ReminderSettingsDto": {
        "type": "object",
        "properties": {
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "default template Id of reminder",
            "example": "dhwjqi2899012990w2u"
          },
          "reminders": {
            "description": "List of reminders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_ReminderDto"
            }
          }
        },
        "required": [
          "defaultEmailTemplateId",
          "reminders"
        ]
      },
      "invoices_GetInvoiceSettingsResponseDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Sub-Account Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "termsNote": {
            "type": "string",
            "description": "Terms and conditions for invoices",
            "example": "Payment is due within 30 days."
          },
          "estimatesTermsNote": {
            "type": "string",
            "description": "Terms and conditions for estimates",
            "example": "This estimate is valid for 30 days."
          },
          "title": {
            "type": "string",
            "description": "Title for invoices",
            "example": "INVOICE",
            "maxLength": 40
          },
          "estimatesTitle": {
            "type": "string",
            "description": "Title for estimates",
            "example": "ESTIMATE",
            "maxLength": 40
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "Prefix for invoice numbers",
            "example": "INV-",
            "maxLength": 10
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for estimate numbers",
            "example": "EST-",
            "maxLength": 10
          },
          "dueAfterXDays": {
            "type": "number",
            "description": "Number of days after which invoice is due",
            "example": 30
          },
          "estimatesExpireAfterXDays": {
            "type": "number",
            "description": "Number of days after which estimate expires",
            "example": 30
          },
          "minimumPercentagePartialPayment": {
            "type": "number",
            "description": "Minimum percentage for partial payment",
            "example": 25
          },
          "customFields": {
            "description": "Custom fields array",
            "example": [
              "6578278e879ad2646715baxc",
              "6901e9fb77ac4d701ba0b996"
            ],
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customNotification": {
            "description": "Custom notification settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_CustomNotificationDto"
              }
            ]
          },
          "businessDetails": {
            "description": "Business details",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_InvoiceSettingsBusinessDetailsDto"
              }
            ]
          },
          "senderConfiguration": {
            "description": "Sender configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_InvoiceSettingsSenderConfigurationDto"
              }
            ]
          },
          "productSettings": {
            "description": "Product settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_InvoiceProductSettingsDto"
              }
            ]
          },
          "reminderSettings": {
            "description": "Reminder settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ReminderSettingsDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "Late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesConfigurationDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "Tips configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_TipsConfigurationDto"
              }
            ]
          },
          "paymentMethods": {
            "description": "Payment methods configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          }
        }
      },
      "invoices_CreateInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Invoice Name",
            "example": "New Invoice"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the invoice.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the invoice",
            "example": "INVOICE"
          },
          "contactDetails": {
            "description": "Contact information to send the invoice to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "example": "1001"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-14"
          },
          "sentTo": {
            "$ref": "#/components/schemas/invoices_SentToDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "paymentSchedule": {
            "description": "split invoice into payment schedule summing up to full invoice amount",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentScheduleDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_LateFeesConfigurationDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "tips configuration for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_TipsConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount",
          "contactDetails",
          "issueDate",
          "sentTo",
          "liveMode"
        ]
      },
      "invoices_OldCreateInvoiceDTO": {
        "type": "object",
        "properties": {}
      },
      "invoices_CreateInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_TotalSummaryDto": {
        "type": "object",
        "properties": {
          "subTotal": {
            "type": "number",
            "description": "subTotal",
            "example": 999
          },
          "discount": {
            "type": "number",
            "description": "discount",
            "example": 0
          },
          "tax": {
            "type": "number",
            "description": "tax",
            "example": 0
          }
        },
        "required": [
          "subTotal",
          "discount",
          "tax"
        ]
      },
      "invoices_ReminderExecutionDetailsList": {
        "type": "object",
        "properties": {}
      },
      "invoices_RemindersConfigurationDto": {
        "type": "object",
        "properties": {
          "reminderExecutionDetailsList": {
            "description": "List of reminders",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ReminderExecutionDetailsList"
              }
            ]
          },
          "reminderSettings": {
            "description": "Reminder settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ReminderSettingsDto"
              }
            ]
          }
        },
        "required": [
          "reminderExecutionDetailsList",
          "reminderSettings"
        ]
      },
      "invoices_GetInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          },
          "totalSummary": {
            "$ref": "#/components/schemas/invoices_TotalSummaryDto"
          },
          "remindersConfiguration": {
            "description": "Reminders Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_RemindersConfigurationDto"
              }
            ]
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt",
          "totalSummary"
        ]
      },
      "invoices_ListInvoicesResponseDto": {
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_GetInvoiceResponseDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of invoices",
            "example": 100
          }
        },
        "required": [
          "invoices",
          "total"
        ]
      },
      "invoices_UpdateInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Name to be updated",
            "example": "New Invoice"
          },
          "title": {
            "type": "string",
            "description": "Title for the invoice",
            "example": "INVOICE"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "ABC Corp payments"
          },
          "businessDetails": {
            "description": "Business details which need to be updated",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "example": "1001"
          },
          "contactId": {
            "type": "string",
            "description": "Id of the contact which you need to send the invoice",
            "example": "6578278e879ad2646715ba9c"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/invoices_ContactDetailsDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "invoiceItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_InvoiceItemDto"
            }
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "liveMode": {
            "type": "boolean",
            "description": "Payment mode"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-14"
          },
          "paymentSchedule": {
            "description": "split invoice into payment schedule summing up to full invoice amount",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentScheduleDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "tips configuration for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_TipsConfigurationDto"
              }
            ]
          },
          "xeroDetails": {
            "type": "object"
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "invoiceItems",
          "issueDate",
          "dueDate"
        ]
      },
      "invoices_UpdateInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_DeleteInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_VoidInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_VoidInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_SendInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "userId": {
            "type": "string",
            "description": "Please ensure that the UserId corresponds to an authorized personnel, either by an employee ID or agency ID, to access this location. This account will serve as the primary channel for all future communications and updates.",
            "example": "6578278e879ad2646715ba9c"
          },
          "action": {
            "type": "string",
            "enum": [
              "sms_and_email",
              "send_manually",
              "email",
              "sms"
            ]
          },
          "liveMode": {
            "type": "boolean"
          },
          "sentFrom": {
            "description": "sender details for invoice, valid only if invoice is not sent manually",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_InvoiceSettingsSenderConfigurationDto"
              }
            ]
          },
          "autoPayment": {
            "description": "auto-payment configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AutoPaymentDetailsDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "userId",
          "action",
          "liveMode"
        ]
      },
      "invoices_SendInvoicesResponseDto": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
          },
          "smsData": {
            "type": "object"
          },
          "emailData": {
            "type": "object"
          }
        },
        "required": [
          "invoice",
          "smsData",
          "emailData"
        ]
      },
      "invoices_ChequeDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "check number",
            "example": "129-129-129-912"
          }
        },
        "required": [
          "number"
        ]
      },
      "invoices_RecordPaymentDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "mode": {
            "type": "string",
            "description": "manual payment method",
            "enum": [
              "cash",
              "card",
              "cheque",
              "bank_transfer",
              "other"
            ],
            "example": "card"
          },
          "card": {
            "$ref": "#/components/schemas/invoices_CardDto"
          },
          "cheque": {
            "$ref": "#/components/schemas/invoices_ChequeDto"
          },
          "notes": {
            "type": "string",
            "description": "Any note to be recorded with the transaction",
            "example": "This was a direct payment"
          },
          "amount": {
            "type": "number",
            "description": "Amount to be paid against the invoice.",
            "example": 999
          },
          "meta": {
            "type": "object"
          },
          "paymentScheduleIds": {
            "description": "Payment Schedule Ids to be recorded against the invoice.",
            "example": [
              "6578278e879ad2646715ba9c"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fulfilledAt": {
            "type": "string",
            "description": "Updated At to be recorded against the invoice.",
            "example": "2025-03-19T05:03:00.000Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "mode",
          "card",
          "cheque",
          "notes"
        ]
      },
      "invoices_RecordPaymentResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "status",
            "example": true
          },
          "invoice": {
            "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
          }
        },
        "required": [
          "success",
          "invoice"
        ]
      },
      "invoices_PatchInvoiceStatsLastViewedDto": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          }
        },
        "required": [
          "invoiceId"
        ]
      },
      "invoices_EstimateLineItemDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Invoice Item Name",
            "example": "ABC Product"
          },
          "description": {
            "type": "string",
            "description": "Invoice descriptions",
            "example": "ABC Corp."
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "priceId": {
            "type": "string",
            "description": "Price Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "Product amount",
            "example": 999
          },
          "qty": {
            "type": "number",
            "description": "Product Quantity",
            "example": 1
          },
          "taxes": {
            "description": "Tax",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_ItemTaxDto"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category id for calculating automatic tax",
            "example": "6578278e879ad2646715ba9c"
          },
          "isSetupFeeItem": {
            "type": "boolean",
            "description": "Setupfee item, only created when 1st invoice of recurring schedule is generated"
          },
          "type": {
            "type": "string",
            "description": "Price type of the item",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "true if item amount is tax inclusive",
            "example": true,
            "default": false
          },
          "attachments": {
            "description": "Attachments for the line item",
            "example": [
              "https://example.com/file1.jpg",
              "https://example.com/file2.png"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "qty"
        ]
      },
      "invoices_SendEstimateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "sms_and_email",
              "send_manually",
              "email",
              "sms"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true
          },
          "userId": {
            "type": "string",
            "description": "Please ensure that the UserId corresponds to an authorized personnel, either by an employee ID or agency ID, to access this location. This account will serve as the primary channel for all future communications and updates.",
            "example": "6578278e879ad2646715ba9c"
          },
          "sentFrom": {
            "description": "sender details for invoice, valid only if invoice is not sent manually",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_InvoiceSettingsSenderConfigurationDto"
              }
            ]
          },
          "estimateName": {
            "type": "string",
            "description": "estimate name",
            "example": "Estimate"
          }
        },
        "required": [
          "altId",
          "altType",
          "action",
          "liveMode",
          "userId"
        ]
      },
      "invoices_FrequencySettingsDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "enabled for the frequency settings",
            "example": true
          },
          "schedule": {
            "description": "schedule setting for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ScheduleOptionsDto"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "schedule"
        ]
      },
      "invoices_AutoInvoicingDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enable Auto Invoice",
            "example": true
          },
          "directPayments": {
            "type": "boolean",
            "description": "Direct Payments",
            "example": true
          }
        },
        "required": [
          "enabled"
        ]
      },
      "invoices_PaymentScheduleDateConfigDto": {
        "type": "object",
        "properties": {
          "depositDateType": {
            "type": "string",
            "description": "Deposit date type",
            "example": "estimate_accepted",
            "enum": [
              "estimate_accepted",
              "custom"
            ]
          },
          "scheduleDateType": {
            "type": "string",
            "description": "Payment Schedule Date Type",
            "example": "regular_interval",
            "enum": [
              "regular_interval",
              "custom"
            ]
          }
        },
        "required": [
          "depositDateType",
          "scheduleDateType"
        ]
      },
      "invoices_PaymentScheduleConfigDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Payment Schedule Type",
            "example": "fixed",
            "enum": [
              "fixed",
              "percentage"
            ]
          },
          "dateConfig": {
            "description": "Due date type configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentScheduleDateConfigDto"
              }
            ]
          },
          "schedules": {
            "description": "Payment Schedule Items",
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "type",
          "dateConfig",
          "schedules"
        ]
      },
      "invoices_CreateEstimatesDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Estimate Name",
            "example": "Home Service Estimate"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the estimate.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_EstimateLineItemDto"
            }
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true,
            "default": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the estimate",
            "example": "ESTIMATE"
          },
          "contactDetails": {
            "description": "Contact information to send the estimate to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "estimateNumber": {
            "type": "number",
            "description": "Estimate Number, if not specified will take in the next valid estimate number",
            "example": 1001
          },
          "issueDate": {
            "type": "string",
            "description": "issue date estimate",
            "example": "2024-08-07"
          },
          "expiryDate": {
            "type": "string",
            "description": "expiry date estimate",
            "example": "2024-08-10"
          },
          "sentTo": {
            "description": "Email and sent to details for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_SentToDto"
              }
            ]
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Estimate",
            "example": true,
            "default": false
          },
          "meta": {
            "type": "object",
            "description": "Meta data for the estimate",
            "example": {
              "key": "value"
            }
          },
          "sendEstimateDetails": {
            "description": "When sending estimate directly while saving",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_SendEstimateDto"
              }
            ]
          },
          "frequencySettings": {
            "description": "frequency settings for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_FrequencySettingsDto"
              }
            ]
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for the estimate number",
            "example": "EST-",
            "default": "EST-"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "autoInvoice": {
            "description": "Auto invoice for the estimate",
            "example": {
              "enabled": true,
              "directPayments": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AutoInvoicingDto"
              }
            ]
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          },
          "paymentScheduleConfig": {
            "description": "Payment Schedule Config for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentScheduleConfigDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount",
          "contactDetails",
          "frequencySettings"
        ]
      },
      "invoices_BusinessDetails": {
        "type": "object",
        "properties": {}
      },
      "invoices_ContactDetails": {
        "type": "object",
        "properties": {}
      },
      "invoices_SentTo": {
        "type": "object",
        "properties": {}
      },
      "invoices_AutoInvoice": {
        "type": "object",
        "properties": {}
      },
      "invoices_EstimateResponseDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "_id": {
            "type": "string",
            "description": "Unique identifier",
            "example": "67ac9a51106ee8311e911XXXX"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Indicates if it is in live mode",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Indicates if deleted",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Estimate Name"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "businessDetails": {
            "description": "Business details associated with the estimate",
            "example": {
              "logoUrl": "your_image-url",
              "name": "Business name",
              "address": {
                "addressLine1": "address line 1",
                "city": "Test City",
                "state": "State Name",
                "countryCode": "US",
                "postalCode": "12345"
              },
              "phoneNo": "+1 1234567890",
              "website": "www.example.com",
              "customValues": [
                {
                  "name": "Test",
                  "fieldKey": "{{custom_values.test}}",
                  "id": "5DYTWoiQvWiIJZXX44XXX",
                  "value": "Test's Custom Value"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetails"
              }
            ]
          },
          "items": {
            "description": "An array of items",
            "example": [
              {
                "taxes": [],
                "taxInclusive": false,
                "_id": "67ac9a51106ee8311e911XXXX",
                "description": "<p>Futuristic anti-gravity racing</p>",
                "currency": "USD",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "amount": 9.99,
                "qty": 1,
                "name": "TEST",
                "type": "one_time"
              },
              {
                "taxes": [
                  {
                    "_id": "67ac9a51106ee8311e911XXXX",
                    "name": "TaxTwo",
                    "rate": 8.5,
                    "calculation": "exclusive"
                  }
                ],
                "taxInclusive": true,
                "_id": "67ac9a51106ee8311e911XXXX",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "currency": "USD",
                "name": "TEST2",
                "qty": 1,
                "amount": 500,
                "description": "",
                "type": "recurring"
              }
            ],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "discount": {
            "description": "Discount details for the estimate template",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "ESTIMATE"
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Estimate number prefix",
            "example": "EST-"
          },
          "attachments": {
            "description": "Attachments",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "updatedBy": {
            "type": "string",
            "description": "User Id of who last updated",
            "example": "3HIpOF9NIc5ltriQXXXX"
          },
          "total": {
            "type": "number",
            "description": "Total amount",
            "example": 1222.03
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when created",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when last updated",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "__v": {
            "type": "number",
            "description": "Version number",
            "example": 0
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Indicates if automatic taxes are enabled for this estimate",
            "example": false
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms and conditions for the estimate, supports HTML markup",
            "example": "<p>All services are subject to availability.</p>"
          },
          "companyId": {
            "type": "string",
            "description": "Company identifier associated with the estimate",
            "example": "COMP12345"
          },
          "contactDetails": {
            "description": "Contact details for the estimate",
            "example": {
              "id": "jvzfKTNdE7OYXXXXXX",
              "name": "Contact Name",
              "phoneNo": "+911111111114",
              "email": "email@test.com",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetails"
              }
            ]
          },
          "issueDate": {
            "format": "date-time",
            "type": "string",
            "description": "Date when the estimate was issued",
            "example": "2023-06-15T00:00:00.000Z"
          },
          "expiryDate": {
            "format": "date-time",
            "type": "string",
            "description": "Date when the estimate expires",
            "example": "2023-07-15T00:00:00.000Z"
          },
          "sentBy": {
            "type": "string",
            "description": "User who sent the estimate",
            "example": "user@example.com"
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Indicates if automatic taxes were calculated",
            "example": true
          },
          "meta": {
            "type": "object",
            "description": "Additional metadata associated with the estimate",
            "example": {
              "key": "value"
            }
          },
          "estimateActionHistory": {
            "description": "History of actions taken on the estimate",
            "example": [
              {
                "action": "Created",
                "timestamp": "2023-06-15T10:00:00.000Z"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sentTo": {
            "description": "Recipient details for the estimate",
            "example": {
              "email": [
                "test@example.com"
              ],
              "phoneNo": [
                "+1 99444444444"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_SentTo"
              }
            ]
          },
          "frequencySettings": {
            "description": "Frequency settings for recurring estimates",
            "examples": [
              {
                "enabled": false
              },
              {
                "enabled": true,
                "schedule": {
                  "rrule": {
                    "intervalType": "monthly",
                    "numOfWeek": 0,
                    "dayOfMonth": 1,
                    "interval": 1,
                    "startDate": "2025-02-12",
                    "endType": "after",
                    "count": "5"
                  }
                }
              },
              {
                "enabled": true,
                "schedule": {
                  "rrule": {
                    "intervalType": "monthly",
                    "numOfWeek": 0,
                    "dayOfMonth": 1,
                    "interval": 1,
                    "startDate": "2025-02-12",
                    "endType": "by",
                    "endDate": "2025-02-24"
                  }
                }
              },
              {
                "enabled": true,
                "schedule": {
                  "rrule": {
                    "intervalType": "monthly",
                    "numOfWeek": 0,
                    "dayOfMonth": 1,
                    "interval": 1,
                    "startDate": "2025-02-12",
                    "endType": "never"
                  }
                }
              }
            ],
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_FrequencySettingsDto"
              }
            ]
          },
          "lastVisitedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when the estimate was last visited",
            "example": "2023-06-20T08:30:00.000Z"
          },
          "totalamountInUSD": {
            "type": "number",
            "description": "Total amount in USD",
            "example": 1500.75
          },
          "autoInvoice": {
            "description": "Auto-invoice settings for the estimate",
            "example": {
              "enabled": true,
              "directPayments": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AutoInvoice"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID for logging and debugging",
            "example": "010c7a01-857f-4619-970d-xyxyxyxy"
          }
        },
        "required": [
          "altId",
          "altType",
          "_id",
          "liveMode",
          "deleted",
          "name",
          "currency",
          "businessDetails",
          "items",
          "discount",
          "total",
          "createdAt",
          "updatedAt",
          "__v",
          "automaticTaxesEnabled",
          "companyId",
          "contactDetails",
          "issueDate",
          "expiryDate",
          "automaticTaxesCalculated",
          "meta",
          "estimateActionHistory",
          "sentTo",
          "frequencySettings",
          "lastVisitedAt",
          "totalamountInUSD",
          "traceId"
        ]
      },
      "invoices_UpdateEstimateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Estimate Name",
            "example": "Home Service Estimate"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the estimate.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_EstimateLineItemDto"
            }
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true,
            "default": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the estimate",
            "example": "ESTIMATE"
          },
          "contactDetails": {
            "description": "Contact information to send the estimate to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ContactDetailsDto"
              }
            ]
          },
          "estimateNumber": {
            "type": "number",
            "description": "Estimate Number, if not specified will take in the next valid estimate number",
            "example": 1001
          },
          "issueDate": {
            "type": "string",
            "description": "issue date estimate",
            "example": "2024-08-07"
          },
          "expiryDate": {
            "type": "string",
            "description": "expiry date estimate",
            "example": "2024-08-10"
          },
          "sentTo": {
            "description": "Email and sent to details for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_SentToDto"
              }
            ]
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Estimate",
            "example": true,
            "default": false
          },
          "meta": {
            "type": "object",
            "description": "Meta data for the estimate",
            "example": {
              "key": "value"
            }
          },
          "sendEstimateDetails": {
            "description": "When sending estimate directly while saving",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_SendEstimateDto"
              }
            ]
          },
          "frequencySettings": {
            "description": "frequency settings for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_FrequencySettingsDto"
              }
            ]
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for the estimate number",
            "example": "EST-",
            "default": "EST-"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "autoInvoice": {
            "description": "Auto invoice for the estimate",
            "example": {
              "enabled": true,
              "directPayments": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_AutoInvoicingDto"
              }
            ]
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          },
          "paymentScheduleConfig": {
            "description": "Payment Schedule Config for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_PaymentScheduleConfigDto"
              }
            ]
          },
          "estimateStatus": {
            "type": "string",
            "description": "Estimate Status",
            "example": "sent",
            "enum": [
              "all",
              "draft",
              "sent",
              "accepted",
              "declined",
              "invoiced",
              "viewed"
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount",
          "contactDetails",
          "frequencySettings"
        ]
      },
      "invoices_GenerateEstimateNumberResponse": {
        "type": "object",
        "properties": {
          "estimateNumber": {
            "type": "number"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "estimateNumber",
          "traceId"
        ]
      },
      "invoices_AltDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_CreateInvoiceFromEstimateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "markAsInvoiced": {
            "type": "boolean",
            "description": "Mark Estimate as Invoiced",
            "example": true
          },
          "version": {
            "type": "string",
            "description": "Version of the update request",
            "example": "v2",
            "enum": [
              "v1",
              "v2"
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "markAsInvoiced"
        ]
      },
      "invoices_CreateInvoiceFromEstimateResponseDTO": {
        "type": "object",
        "properties": {
          "estimate": {
            "description": "Estimate details",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_EstimateResponseDto"
              }
            ]
          },
          "invoice": {
            "description": "Invoice details",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DefaultInvoiceResponseDto"
              }
            ]
          }
        },
        "required": [
          "estimate",
          "invoice"
        ]
      },
      "invoices_ListEstimatesResponseDTO": {
        "type": "object",
        "properties": {
          "estimates": {
            "description": "List of estimates",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of estimates"
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing the request"
          }
        },
        "required": [
          "estimates",
          "total",
          "traceId"
        ]
      },
      "invoices_EstimateIdParam": {
        "type": "object",
        "properties": {
          "estimateId": {
            "type": "string",
            "description": "Estimate Id",
            "example": "5f9d6d8b1b2d2c001f2d9e4b"
          }
        },
        "required": [
          "estimateId"
        ]
      },
      "invoices_ListEstimateTemplateResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "List of estimate templates",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of estimate templates available"
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing the request"
          }
        },
        "required": [
          "data",
          "totalCount",
          "traceId"
        ]
      },
      "invoices_EstimateTemplatesDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Estimate Name",
            "example": "Home Service Estimate Template"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the estimate.",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true,
            "default": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the estimate",
            "example": "ESTIMATE"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Estimate",
            "example": true,
            "default": false
          },
          "meta": {
            "type": "object",
            "description": "Meta data for the estimate",
            "example": {
              "key": "value"
            }
          },
          "sendEstimateDetails": {
            "description": "When sending estimate directly while saving",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_SendEstimateDto"
              }
            ]
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for the estimate number",
            "example": "EST-",
            "default": "EST-"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount"
        ]
      },
      "invoices_EstimateTemplateResponseDTO": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "_id": {
            "type": "string",
            "description": "Unique identifier",
            "example": "67ac9a51106ee8311e911XXXX"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Indicates if it is in live mode",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Indicates if deleted",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Estimate Name"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "businessDetails": {
            "description": "Business details associated with the estimate",
            "example": {
              "logoUrl": "your_image-url",
              "name": "Business name",
              "address": {
                "addressLine1": "address line 1",
                "city": "Test City",
                "state": "State Name",
                "countryCode": "US",
                "postalCode": "12345"
              },
              "phoneNo": "+1 1234567890",
              "website": "www.example.com",
              "customValues": [
                {
                  "name": "Test",
                  "fieldKey": "{{custom_values.test}}",
                  "id": "5DYTWoiQvWiIJZXX44XXX",
                  "value": "Test's Custom Value"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_BusinessDetails"
              }
            ]
          },
          "items": {
            "description": "An array of items",
            "example": [
              {
                "taxes": [],
                "taxInclusive": false,
                "_id": "67ac9a51106ee8311e911XXXX",
                "description": "<p>Futuristic anti-gravity racing</p>",
                "currency": "USD",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "amount": 9.99,
                "qty": 1,
                "name": "TEST",
                "type": "one_time"
              },
              {
                "taxes": [
                  {
                    "_id": "67ac9a51106ee8311e911XXXX",
                    "name": "TaxTwo",
                    "rate": 8.5,
                    "calculation": "exclusive"
                  }
                ],
                "taxInclusive": true,
                "_id": "67ac9a51106ee8311e911XXXX",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "currency": "USD",
                "name": "TEST2",
                "qty": 1,
                "amount": 500,
                "description": "",
                "type": "recurring"
              }
            ],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "discount": {
            "description": "Discount details for the estimate template",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_DiscountDto"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "ESTIMATE"
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Estimate number prefix",
            "example": "EST-"
          },
          "attachments": {
            "description": "Attachments",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_AttachmentsDto"
            }
          },
          "updatedBy": {
            "type": "string",
            "description": "User Id of who last updated",
            "example": "3HIpOF9NIc5ltriQXXXX"
          },
          "total": {
            "type": "number",
            "description": "Total amount",
            "example": 1222.03
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when created",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when last updated",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "__v": {
            "type": "number",
            "description": "Version number",
            "example": 0
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Indicates if automatic taxes are enabled for this estimate",
            "example": false
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms and conditions for the estimate, supports HTML markup",
            "example": "<p>All services are subject to availability.</p>"
          }
        },
        "required": [
          "altId",
          "altType",
          "_id",
          "liveMode",
          "deleted",
          "name",
          "currency",
          "businessDetails",
          "items",
          "discount",
          "total",
          "createdAt",
          "updatedAt",
          "__v",
          "automaticTaxesEnabled"
        ]
      },
      "knowledge_base_BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          }
        }
      },
      "knowledge_base_UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized"
          }
        }
      },
      "knowledge_base_UnprocessableDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 422
          },
          "message": {
            "example": [
              "Unprocessable Entity"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "error": {
            "type": "string",
            "example": "Unprocessable Entity"
          }
        }
      },
      "knowledge_base_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 500
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          }
        }
      },
      "knowledge_base_FaqResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "FAQ ID as string",
            "example": "3rzeElC1FOVY91veVBkp"
          },
          "question": {
            "type": "string",
            "description": "FAQ question",
            "example": "What is 1+2?"
          },
          "questionLowerCase": {
            "type": "string",
            "description": "FAQ question in lowercase",
            "example": "what is 1+2?"
          },
          "answer": {
            "type": "string",
            "description": "FAQ answer",
            "example": "3"
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "I1rITlYLJofFosIqC4Np"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "trainedUrlId": {
            "type": "string",
            "description": "Trained URL ID",
            "example": "688e6b6d8a1887e6d94d1475"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the FAQ is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Date when FAQ was created",
            "example": "2025-08-02T19:47:57.243Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when FAQ was last updated",
            "example": "2025-08-02T19:47:57.243Z"
          }
        },
        "required": [
          "id",
          "question",
          "questionLowerCase",
          "answer",
          "knowledgeBaseId",
          "locationId",
          "trainedUrlId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "knowledge_base_ListFaqsResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total count of all FAQs in the knowledge base",
            "example": 150
          },
          "faqs": {
            "description": "Array of FAQ objects",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_FaqResponseDTO"
            }
          },
          "lastFaqId": {
            "type": "string",
            "description": "Last FAQ ID for pagination (use as lastFaqId in next request)",
            "example": "3rzeElC1FOVY91veVBkp"
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether there are more FAQs available",
            "example": true
          }
        },
        "required": [
          "count",
          "faqs"
        ]
      },
      "knowledge_base_AddFaqDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "location ID as string",
            "example": "HqDZpF8GH3qvgJTmKCoL"
          },
          "question": {
            "type": "string",
            "description": "faq question as a string",
            "example": "What is the capital of France?"
          },
          "answer": {
            "type": "string",
            "description": "faq answer as a string",
            "example": "The capital of France is Paris."
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base ID as string",
            "example": "710KoEzy793Fxubft0bc"
          }
        },
        "required": [
          "locationId",
          "question",
          "answer",
          "knowledgeBaseId"
        ]
      },
      "knowledge_base_CreateFaqResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "faq": {
            "description": "Created FAQ details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_FaqResponseDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "faq"
        ]
      },
      "knowledge_base_UpdateFaqBodyDTO": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "faq question as a string",
            "example": "What is the capital of France?"
          },
          "answer": {
            "type": "string",
            "description": "faq answer as a string",
            "example": "The capital of France is Paris."
          }
        },
        "required": [
          "question",
          "answer"
        ]
      },
      "knowledge_base_UpdateFaqResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the update operation",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_DeleteFaqResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the delete operation",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_CrawledUrlDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the URL",
            "example": "688c73a25275c513f5f3a7de"
          },
          "url": {
            "type": "string",
            "description": "The actual URL that was crawled",
            "example": "https://developer.mozilla.org/en-US/blog"
          },
          "title": {
            "type": "string",
            "description": "Title of the webpage",
            "example": "MDN Blog"
          },
          "status": {
            "type": "string",
            "description": "Current processing status of the URL",
            "example": "Successful",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "locationId": {
            "type": "string",
            "description": "Location ID associated with this URL",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID this URL belongs to",
            "example": "Arc9QRauPKkSuMJO8D0m"
          },
          "content": {
            "type": "string",
            "description": "URL to the stored content file",
            "example": "https://storage.googleapis.com/crm-conversations-ai-staging/conversationAI/2025/8/1/locations/qIyivCmsuEOSnyoFYEej/688c739c88c89f21ad30f63e-4IseusbZ3vDXMT8WNw9M.txt"
          },
          "contentEditedByUser": {
            "type": "boolean",
            "description": "Whether the content was edited by user",
            "example": false
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2025-08-01T07:58:29.858Z"
          }
        },
        "required": [
          "id",
          "url",
          "title",
          "status",
          "locationId",
          "knowledgeBaseId",
          "content",
          "contentEditedByUser",
          "updatedAt"
        ]
      },
      "knowledge_base_GetAllUrlsByKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total count of URLs in the knowledge base",
            "example": 64
          },
          "urls": {
            "description": "Array of crawled URLs with their details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_CrawledUrlDTO"
            }
          }
        },
        "required": [
          "count",
          "urls"
        ]
      },
      "knowledge_base_ErrorDetailsDTO": {
        "type": "object",
        "properties": {
          "stack": {
            "type": "string",
            "description": "Error stack trace",
            "example": "HttpException: Failed to fetch HTML content\n    at getHtml (/app/dist/apps/conversations-ai/crm-conversations-ai-discover-worker.js:2531:15)"
          },
          "response": {
            "type": "string",
            "description": "Error response message",
            "example": "Failed to fetch HTML content"
          },
          "status": {
            "type": "number",
            "description": "HTTP status code",
            "example": 500
          },
          "options": {
            "type": "object",
            "description": "Additional options (nullable)",
            "example": null
          },
          "message": {
            "type": "string",
            "description": "Error message",
            "example": "Failed to fetch HTML content"
          },
          "name": {
            "type": "string",
            "description": "Error name/type",
            "example": "HttpException"
          }
        },
        "required": [
          "stack",
          "response",
          "status",
          "message",
          "name"
        ]
      },
      "knowledge_base_CrawlingRecordDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL being crawled",
            "example": "https://developer.mozilla.org/en-US/blog/rss.xml"
          },
          "id": {
            "type": "string",
            "description": "Unique record identifier",
            "example": "688e41118a188704914d13c0"
          },
          "title": {
            "type": "string",
            "description": "Page title (for successful/pending records)",
            "example": "JavaScript Temporal is coming | MDN Blog"
          },
          "error": {
            "description": "Error details (for failed records)",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_ErrorDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "url",
          "id"
        ]
      },
      "knowledge_base_CrawlingAggregateDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Status grouping identifier",
            "example": "Failed",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "records": {
            "description": "Array of records for this status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_CrawlingRecordDTO"
            }
          }
        },
        "required": [
          "_id",
          "records"
        ]
      },
      "knowledge_base_OperationDetailsDTO": {
        "type": "object",
        "properties": {
          "discoveredUrlsCount": {
            "type": "number",
            "description": "Number of URLs discovered",
            "example": 66
          },
          "trainedUrlsCount": {
            "type": "number",
            "description": "Number of URLs successfully trained",
            "example": 0
          },
          "_id": {
            "type": "string",
            "description": "Operation unique identifier",
            "example": "688e410c8a18870ecf4d13bb"
          },
          "locationId": {
            "type": "string",
            "description": "Associated location ID",
            "example": "nnAzVJqSv6PJ1p6zrhvC"
          },
          "status": {
            "type": "string",
            "description": "Current operation status",
            "example": "Pending",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "url": {
            "type": "string",
            "description": "Base URL being crawled",
            "example": "https://developer.mozilla.org/en-US/blog/"
          },
          "mode": {
            "type": "string",
            "description": "Crawling mode used",
            "example": "Path",
            "enum": [
              "Exact",
              "Path",
              "Domain"
            ]
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "CCNPhKqSCkTOG8O7dtbq"
          },
          "createdAt": {
            "type": "string",
            "description": "Operation creation timestamp",
            "example": "2025-08-02T16:47:08.182Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-08-02T16:48:43.635Z"
          },
          "__v": {
            "type": "number",
            "description": "Version field",
            "example": 0
          },
          "robotsFileData": {
            "type": "string",
            "description": "Robots.txt file content",
            "example": "User-agent: *\nSitemap: https://developer.mozilla.org/sitemap.xml\nDisallow: /api/"
          }
        },
        "required": [
          "discoveredUrlsCount",
          "trainedUrlsCount",
          "_id",
          "locationId",
          "status",
          "url",
          "mode",
          "knowledgeBaseId",
          "createdAt",
          "updatedAt",
          "__v"
        ]
      },
      "knowledge_base_CrawlingStatusDataDTO": {
        "type": "object",
        "properties": {
          "aggregate": {
            "description": "Aggregated crawling results by status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_CrawlingAggregateDTO"
            }
          },
          "operationDetails": {
            "description": "Detailed operation information",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_OperationDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "aggregate",
          "operationDetails"
        ]
      },
      "knowledge_base_CrawlingStatusResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          },
          "data": {
            "description": "Detailed crawling status data",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_CrawlingStatusDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_DiscoverWebsiteRequestDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "url": {
            "type": "string",
            "description": "Website URL as string",
            "example": "https://kubernetes.io/tDtDnQdgm2LXpyiqYvZ6"
          },
          "option": {
            "type": "string",
            "description": "Mode as string",
            "example": "Exact",
            "enum": [
              "Exact",
              "Path",
              "Domain"
            ]
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          }
        },
        "required": [
          "locationId",
          "url",
          "option",
          "knowledgeBaseId"
        ]
      },
      "knowledge_base_DiscoverWebsiteDataDTO": {
        "type": "object",
        "properties": {
          "operationId": {
            "type": "string",
            "description": "Operation ID for tracking the discovery process",
            "example": "688e410c8a18870ecf4d13bb"
          },
          "status": {
            "type": "string",
            "description": "Current status of the website discovery operation",
            "example": "Processing",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "url": {
            "type": "string",
            "description": "The URL being discovered/crawled",
            "example": "https://developer.mozilla.org/en-US/blog/"
          }
        },
        "required": [
          "operationId",
          "status",
          "url"
        ]
      },
      "knowledge_base_DiscoverWebsiteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          },
          "data": {
            "description": "Data containing operation details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_DiscoverWebsiteDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_TrainDiscoveredUrlsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "urlIds": {
            "description": "List of Object ids of the discovered urls",
            "example": [
              "688b640bcb02d498102a13ec",
              "688b640bcb02d498102a13ea"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base id",
            "example": "jjkkxftgvbhjmn,"
          },
          "operationId": {
            "type": "string",
            "description": "operation id as string",
            "example": "688b640bcb02d498102a13f0,"
          }
        },
        "required": [
          "locationId",
          "urlIds",
          "knowledgeBaseId",
          "operationId"
        ]
      },
      "knowledge_base_TrainDiscoveredUrlsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_DeleteWebsiteUrlRequestDTO": {
        "type": "object",
        "properties": {
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "urlIds": {
            "description": "List of trained urls ids ( fetched from the Get all trained page links by knowledge base endpoint)",
            "example": "[tDtDnQdgm2LXpyiqYvZ6]",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "knowledgeBaseId",
          "locationId",
          "urlIds"
        ]
      },
      "knowledge_base_DeleteWebsiteUrlResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_KnowledgeBaseListItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "ZwTB8S0yo0FIBY6OPZTD"
          },
          "name": {
            "type": "string",
            "description": "Knowledge base name",
            "example": "bot training kb"
          },
          "createdAt": {
            "type": "string",
            "description": "Date when knowledge base was created",
            "example": "2025-08-02T20:26:57.057Z"
          }
        },
        "required": [
          "id",
          "name",
          "createdAt"
        ]
      },
      "knowledge_base_GetAllKnowledgeBasesPaginatedDataDTO": {
        "type": "object",
        "properties": {
          "knowledgeBases": {
            "description": "Array of knowledge bases",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_KnowledgeBaseListItemDTO"
            }
          },
          "activeCount": {
            "type": "number",
            "description": "Total count of all active knowledge bases",
            "example": 16
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether there are more knowledge bases available",
            "example": true
          },
          "lastKnowledgeBaseId": {
            "type": "string",
            "description": "ID of the last knowledge base in this page (use for next page request)",
            "example": "ZwTB8S0yo0FIBY6OPZTD"
          }
        },
        "required": [
          "knowledgeBases",
          "activeCount",
          "hasMore"
        ]
      },
      "knowledge_base_GetAllKnowledgeBasesPaginatedResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "data": {
            "description": "Paginated knowledge bases data",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_GetAllKnowledgeBasesPaginatedDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_KnowledgeBaseMetadataDTO": {
        "type": "object",
        "properties": {
          "faqs": {
            "type": "number",
            "description": "Number of FAQs in the knowledge base",
            "example": 2
          },
          "urls": {
            "type": "number",
            "description": "Number of URLs in the knowledge base",
            "example": 64
          },
          "richText": {
            "type": "number",
            "description": "Number of rich text documents in the knowledge base",
            "example": 0
          },
          "files": {
            "type": "number",
            "description": "Number of files in the knowledge base",
            "example": 0
          },
          "webSearches": {
            "type": "number",
            "description": "Number of web searche configs in the knowledge base",
            "example": 0
          },
          "tables": {
            "type": "number",
            "description": "Number of tables in the knowledge base",
            "example": 0
          }
        },
        "required": [
          "faqs",
          "urls",
          "richText",
          "files",
          "webSearches",
          "tables"
        ]
      },
      "knowledge_base_GetKnowledgeBaseByIdDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "Arc9QRauPKkSuMJO8D0m"
          },
          "name": {
            "type": "string",
            "description": "Knowledge base name",
            "example": "KB for Bot Training"
          },
          "nameLowerCase": {
            "type": "string",
            "description": "Knowledge base name in lowercase",
            "example": "kb for bot training"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the knowledge base is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Date when knowledge base was created",
            "example": "2025-08-01T07:50:41.244Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when knowledge base was last updated",
            "example": "2025-08-01T10:05:58.694Z"
          },
          "kbMetadata": {
            "description": "Knowledge base metadata with content counts",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_KnowledgeBaseMetadataDTO"
              }
            ]
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether the knowledge base is default or not",
            "example": false
          }
        },
        "required": [
          "id",
          "name",
          "nameLowerCase",
          "locationId",
          "deleted",
          "createdAt",
          "updatedAt",
          "kbMetadata"
        ]
      },
      "knowledge_base_GetKnowledgeBaseByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "data": {
            "description": "Knowledge base details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_GetKnowledgeBaseByIdDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_CreateKnowledgeBaseDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "locationId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "locationId"
        ]
      },
      "knowledge_base_KnowledgeBaseDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "ZwTB8S0yo0FIBY6OPZTD"
          },
          "name": {
            "type": "string",
            "description": "Knowledge base name",
            "example": "KB for Bot Training"
          },
          "nameLowerCase": {
            "type": "string",
            "description": "Knowledge base name in lowercase",
            "example": "kb for bot training"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "kbMetadata": {
            "type": "object",
            "description": "Knowledge base metadata",
            "example": {}
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the knowledge base is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Date when knowledge base was created",
            "example": "2025-08-02T20:26:57.057Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when knowledge base was last updated",
            "example": "2025-08-02T20:26:57.057Z"
          }
        },
        "required": [
          "id",
          "name",
          "nameLowerCase",
          "locationId",
          "kbMetadata",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "knowledge_base_CreateKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "data": {
            "description": "Created knowledge base details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_KnowledgeBaseDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_UpdateKnowledgeBaseDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "field to update the name of the knowledge base"
          },
          "description": {
            "type": "string",
            "description": "field to update the description of the knowledge base"
          }
        }
      },
      "knowledge_base_UpdateKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_DeleteKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "links_LinkSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "n4AriwEnFrGh3tu08W0U"
          },
          "name": {
            "type": "string",
            "example": "first tag"
          },
          "redirectTo": {
            "type": "string",
            "example": "https://www.google.com/"
          },
          "fieldKey": {
            "type": "string",
            "example": "{{trigger_link.n4AriwEnFrGh3tu08W0U}}"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "links_GetLinksSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/links_LinkSchema"
            }
          }
        }
      },
      "links_LinksDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "example": "first tag"
          },
          "redirectTo": {
            "type": "string",
            "example": "https://www.google.com/"
          }
        },
        "required": [
          "locationId",
          "name",
          "redirectTo"
        ]
      },
      "links_GetLinkSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "link": {
            "$ref": "#/components/schemas/links_LinkSchema"
          }
        }
      },
      "links_LinkUpdateDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "first tag"
          },
          "redirectTo": {
            "type": "string",
            "example": "https://www.google.com/"
          }
        },
        "required": [
          "name",
          "redirectTo"
        ]
      },
      "links_DeleteLinksSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_SettingsSchema": {
        "type": "object",
        "properties": {
          "allowDuplicateContact": {
            "type": "boolean",
            "example": false
          },
          "allowDuplicateOpportunity": {
            "type": "boolean",
            "example": false
          },
          "allowFacebookNameMerge": {
            "type": "boolean",
            "example": false
          },
          "disableContactTimezone": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "locations_SocialSchema": {
        "type": "object",
        "properties": {
          "facebookUrl": {
            "type": "string",
            "description": "Facebook URL",
            "example": "https://www.facebook.com/"
          },
          "googlePlus": {
            "type": "string",
            "description": "Googleplus URL",
            "example": "https://www.googleplus.com/"
          },
          "linkedIn": {
            "type": "string",
            "description": "LinkedIn URL",
            "example": "https://www.linkedIn.com/"
          },
          "foursquare": {
            "type": "string",
            "description": "Foursquare URL",
            "example": "https://www.foursquare.com/"
          },
          "twitter": {
            "type": "string",
            "description": "Twitter URL",
            "example": "https://www.foutwitterrsquare.com/"
          },
          "yelp": {
            "type": "string",
            "description": "Yelp URL",
            "example": "https://www.yelp.com/"
          },
          "instagram": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.instagram.com/"
          },
          "youtube": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.youtube.com/"
          },
          "pinterest": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.pinterest.com/"
          },
          "blogRss": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.blogRss.com/"
          },
          "googlePlacesId": {
            "type": "string",
            "description": "Google Business Places ID",
            "example": "ChIJJGPdVbQTrjsRGUkefteUeFk"
          }
        }
      },
      "locations_GetLocationSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created"
          },
          "email": {
            "type": "string",
            "example": "john.doe@mail.com",
            "description": "The email for the sub-account/location"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country in which the business is present for which sub-account is created"
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SocialSchema"
              }
            ]
          }
        }
      },
      "locations_SearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_GetLocationSchema"
            }
          }
        }
      },
      "locations_BusinessSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "dentist"
          },
          "address": {
            "type": "string",
            "example": "MIG 14, Delhi"
          },
          "city": {
            "type": "string",
            "example": "delhi"
          },
          "state": {
            "type": "string",
            "example": "delhi"
          },
          "country": {
            "type": "string",
            "example": "IN"
          },
          "postalCode": {
            "type": "string",
            "example": "567654"
          },
          "website": {
            "type": "string",
            "example": "https://crm.gesvision.com/"
          },
          "timezone": {
            "type": "string",
            "example": "America/Chicago"
          },
          "logoUrl": {
            "type": "string",
            "example": "https://dummyimage.com/o/locationPhotos%2Fve9EPM428h8vShlRW1KT.jpeg"
          }
        }
      },
      "locations_GetLocationByIdSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "companyId": {
            "type": "string",
            "example": "5DP4iH6HLkQsiKESj6rh"
          },
          "name": {
            "type": "string",
            "example": "dentist"
          },
          "domain": {
            "type": "string",
            "example": "test.msgsndr.com"
          },
          "address": {
            "type": "string",
            "example": "ganthi nagar, gyanbabu chauk motihati"
          },
          "city": {
            "type": "string",
            "example": "motihari"
          },
          "state": {
            "type": "string",
            "example": "Loca"
          },
          "logoUrl": {
            "type": "string",
            "example": "https://dummyimage.com/o/locationPhotos%2Fve9EPM428h8vShlRW1KT.jpeg"
          },
          "country": {
            "type": "string",
            "example": "IN"
          },
          "postalCode": {
            "type": "string",
            "example": "567654"
          },
          "website": {
            "type": "string",
            "example": "https://crm.gesvision.com/"
          },
          "timezone": {
            "type": "string",
            "example": "America/Chicago"
          },
          "firstName": {
            "type": "string",
            "example": "Dr. Rane"
          },
          "lastName": {
            "type": "string",
            "example": "deo"
          },
          "email": {
            "type": "string",
            "example": "rane@due.com"
          },
          "phone": {
            "type": "string",
            "example": "+919039160788"
          },
          "business": {
            "$ref": "#/components/schemas/locations_BusinessSchema"
          },
          "social": {
            "$ref": "#/components/schemas/locations_SocialSchema"
          },
          "settings": {
            "$ref": "#/components/schemas/locations_SettingsSchema"
          },
          "reseller": {
            "type": "object"
          }
        }
      },
      "locations_GetLocationByIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "location": {
            "$ref": "#/components/schemas/locations_GetLocationByIdSchema"
          }
        }
      },
      "locations_ProspectInfoDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the prospect",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the prospect",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "description": "Email of the prospect",
            "example": "john.doe@mail.com"
          }
        },
        "required": [
          "firstName",
          "lastName",
          "email"
        ]
      },
      "locations_TwilioSchema": {
        "type": "object",
        "properties": {
          "sid": {
            "type": "string",
            "description": "SID provided by Twilio",
            "example": "AC_XXXXXXXXXXX"
          },
          "authToken": {
            "type": "string",
            "description": "Auth token provided by Twilio",
            "example": "77_XXXXXXXXXXX"
          }
        },
        "required": [
          "sid",
          "authToken"
        ]
      },
      "locations_MailgunSchema": {
        "type": "object",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "API key provided by Mailgun",
            "example": "key-XXXXXXXXXXX"
          },
          "domain": {
            "type": "string",
            "description": "Domain connected with Mailgun",
            "example": "replies.yourdomain.com"
          }
        },
        "required": [
          "apiKey",
          "domain"
        ]
      },
      "locations_CreateLocationDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created with the appropriate country-code"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id",
            "example": "UAXssdawIWAWD"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The 2 letter country-code in which the business is present for which sub-account is created",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "prospectInfo": {
            "example": {
              "firstName": "John",
              "lastName": "Doe",
              "email": "john.doe@mail.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_ProspectInfoDto"
              }
            ]
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SocialSchema"
              }
            ]
          },
          "twilio": {
            "description": "The twilio credentials for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_TwilioSchema"
              }
            ]
          },
          "mailgun": {
            "description": "The mailgun credentials for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_MailgunSchema"
              }
            ]
          },
          "snapshotId": {
            "type": "string",
            "description": "The snapshot ID to be loaded into the location.",
            "example": "XXXXXXXXXXX"
          }
        },
        "required": [
          "name",
          "companyId"
        ]
      },
      "locations_CreateLocationSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id",
            "example": "UAXssdawIWAWD"
          },
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created"
          },
          "email": {
            "type": "string",
            "example": "john.doe@mail.com",
            "description": "The email for the sub-account/location"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "domain": {
            "type": "string",
            "example": "test.msgsndr.com"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country in which the business is present for which sub-account is created",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SocialSchema"
              }
            ]
          }
        }
      },
      "locations_SnapshotPutSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Snaptshot ID",
            "example": "XXXXXXXXXXX"
          },
          "override": {
            "type": "boolean",
            "description": "If you want override all conflicted assets then pass true. Default value is false.",
            "example": false,
            "default": false
          }
        },
        "required": [
          "id"
        ]
      },
      "locations_UpdateLocationDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id",
            "example": "UAXssdawIWAWD"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country in which the business is present for which sub-account is created",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "prospectInfo": {
            "example": {
              "firstName": "John",
              "lastName": "Doe",
              "email": "john.doe@mail.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_ProspectInfoDto"
              }
            ]
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SocialSchema"
              }
            ]
          },
          "twilio": {
            "description": "The twilio credentials for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_TwilioSchema"
              }
            ]
          },
          "mailgun": {
            "description": "The mailgun credentials for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_MailgunSchema"
              }
            ]
          },
          "snapshot": {
            "description": "The snapshot to be updated in the location.",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_SnapshotPutSchema"
              }
            ]
          }
        },
        "required": [
          "companyId"
        ]
      },
      "locations_LocationDeletedSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the API",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message of the API",
            "example": "Deleted location with id: ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "locations_LocationTagsSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "minim aliquip anim"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "id": {
            "type": "string",
            "example": "flGwEuzsfJOia1i1ikRN"
          }
        }
      },
      "locations_LocationTagsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_LocationTagsSchema"
            }
          }
        }
      },
      "locations_LocationTagSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/locations_LocationTagsSchema"
          }
        }
      },
      "locations_tagBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag name",
            "example": "Tag"
          }
        },
        "required": [
          "name"
        ]
      },
      "locations_LocationTagDeleteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_TaskSearchParamsDto": {
        "type": "object",
        "properties": {
          "contactId": {
            "description": "Contact Ids",
            "example": [
              "dSMo5jnqkJyh8YeGXM7k",
              "j5WESpmRj816VtyUuWwh"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "completed": {
            "type": "boolean",
            "description": "Task Completed Or Pending",
            "example": true
          },
          "assignedTo": {
            "description": "Assigned User Ids",
            "example": [
              "0004Mtfsd11SBU1mBPgd"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "query": {
            "type": "string",
            "description": "Search Value",
            "example": "Task Name"
          },
          "limit": {
            "type": "number",
            "description": "Limit To Api",
            "example": 10,
            "default": 25
          },
          "skip": {
            "type": "number",
            "description": "Number Of Tasks To Skip",
            "default": 0,
            "example": 10
          },
          "businessId": {
            "type": "string",
            "description": "Bussiness Id",
            "example": "6348240b98722079e5417332"
          }
        }
      },
      "locations_LocationTaskListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "array"
            }
          }
        }
      },
      "locations_CustomFieldSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "3sv6UEo51C9Bmpo1cKTq"
          },
          "name": {
            "type": "string",
            "example": "pincode"
          },
          "fieldKey": {
            "type": "string",
            "example": "contact.pincode"
          },
          "placeholder": {
            "type": "string",
            "example": "Pin code"
          },
          "dataType": {
            "type": "string",
            "example": "TEXT"
          },
          "position": {
            "type": "number",
            "example": 0
          },
          "picklistOptions": {
            "example": [
              "first option"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "picklistImageOptions": {
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isAllowedCustomOption": {
            "type": "boolean",
            "example": false
          },
          "isMultiFileAllowed": {
            "type": "boolean",
            "example": true
          },
          "maxFileLimit": {
            "type": "number",
            "example": 4
          },
          "locationId": {
            "type": "string",
            "example": "3sv6UEo51C9Bmpo1cKTq"
          },
          "model": {
            "type": "string",
            "description": "Model of the custom field",
            "example": "opportunity",
            "enum": [
              "contact",
              "opportunity"
            ]
          }
        }
      },
      "locations_CustomFieldsListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_CustomFieldSchema"
            }
          }
        }
      },
      "locations_CustomFieldSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customField": {
            "$ref": "#/components/schemas/locations_CustomFieldSchema"
          }
        }
      },
      "locations_textBoxListOptionsSchema": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "example": "First"
          },
          "prefillValue": {
            "type": "string",
            "example": ""
          }
        }
      },
      "locations_CreateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Custom Field"
          },
          "dataType": {
            "type": "string",
            "example": "TEXT"
          },
          "placeholder": {
            "type": "string",
            "example": "Placeholder Text"
          },
          "acceptedFormat": {
            "example": [
              ".pdf",
              ".docx",
              ".jpeg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isMultipleFile": {
            "type": "boolean",
            "example": false
          },
          "maxNumberOfFiles": {
            "type": "number",
            "example": 2
          },
          "textBoxListOptions": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/locations_textBoxListOptionsSchema"
                },
                {
                  "$ref": "#/components/schemas/locations_textBoxListOptionsSchema"
                }
              ]
            }
          },
          "position": {
            "type": "number",
            "example": 0,
            "default": 0
          },
          "model": {
            "type": "string",
            "description": "Model of the custom field you want to create",
            "example": "opportunity",
            "enum": [
              "contact",
              "opportunity"
            ]
          }
        },
        "required": [
          "name",
          "dataType"
        ]
      },
      "locations_UpdateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Custom Field"
          },
          "placeholder": {
            "type": "string",
            "example": "Placeholder Text"
          },
          "acceptedFormat": {
            "example": [
              ".pdf",
              ".docx",
              ".jpeg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isMultipleFile": {
            "type": "boolean",
            "example": false
          },
          "maxNumberOfFiles": {
            "type": "number",
            "example": 2
          },
          "textBoxListOptions": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/locations_textBoxListOptionsSchema"
                },
                {
                  "$ref": "#/components/schemas/locations_textBoxListOptionsSchema"
                }
              ]
            }
          },
          "position": {
            "type": "number",
            "example": 0,
            "default": 0
          },
          "model": {
            "type": "string",
            "description": "Model of the custom field you want to update",
            "example": "opportunity",
            "enum": [
              "contact",
              "opportunity"
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "locations_CustomFieldDeleteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_FileUploadBody": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id(Contact Id/Opportunity Id/Custom Field Id)",
            "example": "aWdODOBVOlH1RUFKWQke"
          },
          "maxFiles": {
            "type": "string",
            "description": "Max number of files",
            "example": "15"
          }
        }
      },
      "locations_FileUploadResponseDto": {
        "type": "object",
        "properties": {
          "uploadedFiles": {
            "type": "object",
            "description": "Uploaded files",
            "example": {
              "FileName.csv": "https://crm-gesvision-private-staging.storage.googleapis.com/location/Ar4JQgIyuzRsVuwD9RSK/custom-Field/UpZLmohmKEQYn0ymqplY/56e0d7fc-085c-4a07-9e1d-6d8fdac7e710.csv"
            }
          },
          "meta": {
            "description": "Meta data of uploaded files",
            "example": [
              {
                "fieldname": "FileName.csv",
                "originalname": "FileName.csv",
                "encoding": "7bit",
                "mimetype": "text/csv",
                "size": 2061,
                "url": "https://crm-gesvision-private-staging.storage.googleapis.com/location/Ar4JQgIyuzRsVuwD9RSK/custom-Field/UpZLmohmKEQYn0ymqplY/56e0d7fc-085c-4a07-9e1d-6d8fdac7e710.csv"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "locations_CustomValueSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "rWQ709Pb62syqGLceg1x"
          },
          "name": {
            "type": "string",
            "example": "Custom Field"
          },
          "fieldKey": {
            "type": "string",
            "example": "{{ custom_values.custom_field }}"
          },
          "value": {
            "type": "string",
            "example": "Value"
          },
          "locationId": {
            "type": "string",
            "example": "rWQ709Pb6dasyqGLceg1x"
          }
        }
      },
      "locations_CustomValuesListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_CustomValueSchema"
            }
          }
        }
      },
      "locations_CustomValueIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customValue": {
            "$ref": "#/components/schemas/locations_CustomValueSchema"
          }
        }
      },
      "locations_customValuesDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Custom Field Name"
          },
          "value": {
            "type": "string",
            "example": "Value"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "locations_CustomValueDeleteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_SmsTemplateSchema": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "example": "sms body"
          },
          "attachments": {
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          }
        }
      },
      "locations_GetSmsTemplateResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "2yMwhgTNO19bpintqrap"
          },
          "name": {
            "type": "string",
            "example": "sms template"
          },
          "type": {
            "type": "string",
            "example": "sms"
          },
          "template": {
            "$ref": "#/components/schemas/locations_SmsTemplateSchema"
          },
          "dateAdded": {
            "type": "string",
            "example": "2022-01-27T12:31:19.679Z"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "urlAttachments": {
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "locations_EmailTemplateSchema": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "example": "subject text"
          },
          "attachments": {
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "html": {
            "type": "string",
            "example": "<html><head><style>body{font-family: sans-serif;}</style></head><body>testing</body></html>"
          }
        }
      },
      "locations_GetEmailTemplateResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "2yMwhgTNO19bpintqrap"
          },
          "name": {
            "type": "string",
            "example": "email template"
          },
          "type": {
            "type": "string",
            "example": "email"
          },
          "dateAdded": {
            "type": "string",
            "example": "2022-01-27T12:31:19.679Z"
          },
          "template": {
            "$ref": "#/components/schemas/locations_EmailTemplateSchema"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "locations_GetTemplatesSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/locations_GetSmsTemplateResponseSchema"
                },
                {
                  "$ref": "#/components/schemas/locations_GetEmailTemplateResponseSchema"
                }
              ]
            }
          },
          "totalCount": {
            "type": "number",
            "example": 100
          }
        }
      },
      "locations_CustomRRulesOptions": {
        "type": "object",
        "properties": {
          "intervalType": {
            "type": "string",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly"
            ],
            "example": "monthly"
          },
          "interval": {
            "type": "number",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "example": "2021-09-30T00:00:00.000Z",
            "description": "Start Date"
          },
          "endDate": {
            "type": "string",
            "example": "2021-09-30T00:00:00.000Z",
            "description": "End Date"
          },
          "dayOfMonth": {
            "type": "number",
            "description": "1, 2, 3, ..., 27, 31",
            "example": 15
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "MO",
              "TU",
              "WE",
              "TH",
              "FR",
              "SA",
              "SU"
            ],
            "example": "MO"
          },
          "monthOfYear": {
            "type": "number",
            "description": "1, 2, ....., 11, 12",
            "example": 1
          },
          "count": {
            "type": "number",
            "description": "Max number of task executions",
            "example": 10
          },
          "createTaskIfOverDue": {
            "type": "boolean",
            "example": true,
            "description": "Create Task If Over Due"
          },
          "dueAfterSeconds": {
            "type": "number",
            "example": 23404000,
            "description": "Due after seconds"
          }
        },
        "required": [
          "intervalType",
          "interval",
          "startDate",
          "dueAfterSeconds"
        ]
      },
      "locations_RecurringTaskResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Recurring Task Id"
          },
          "title": {
            "type": "string",
            "example": "Task Name",
            "description": "Name of the task"
          },
          "description": {
            "type": "string",
            "example": "Task Description",
            "description": "Description of the task"
          },
          "locationId": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Location Id"
          },
          "updatedAt": {
            "type": "string",
            "example": "2021-04-15T10:00:00.000Z",
            "description": "Updated At"
          },
          "createdAt": {
            "type": "string",
            "example": "2021-04-15T10:00:00.000Z",
            "description": "Created At"
          },
          "rruleOptions": {
            "example": {
              "createTaskIfOverDue": false,
              "interval": 1,
              "intervalType": "hourly",
              "startDate": "2024-10-29T12:34:03.000Z",
              "dueAfterSeconds": 600,
              "count": 550
            },
            "description": "Recurring rules",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_CustomRRulesOptions"
              }
            ]
          },
          "totalOccurrence": {
            "type": "number",
            "example": 10,
            "description": "Total Occurrence"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Deleted"
          },
          "assignedTo": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Assigned To"
          },
          "contactId": {
            "type": "string",
            "example": "v5cEPM428h8vShlRW1KT",
            "description": "Contact Id"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "locationId",
          "updatedAt",
          "createdAt",
          "rruleOptions",
          "totalOccurrence",
          "deleted"
        ]
      },
      "locations_RecurringTaskSingleResponseDTO": {
        "type": "object",
        "properties": {
          "recurringTask": {
            "description": "Recurring Tasks",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_RecurringTaskResponseDTO"
              }
            ]
          }
        },
        "required": [
          "recurringTask"
        ]
      },
      "locations_RecurringTaskCreateDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "Task Name",
            "description": "Name of the task"
          },
          "description": {
            "type": "string",
            "example": "Task Description",
            "description": "Description of the task"
          },
          "contactIds": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Contact Id",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "owners": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Assigned To",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rruleOptions": {
            "example": {
              "intervalType": "hourly",
              "interval": 1,
              "startDate": "2025-07-23T10:00:00.000Z",
              "dueAfterSeconds": 600
            },
            "description": "Recurring rules",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_CustomRRulesOptions"
              }
            ]
          },
          "ignoreTaskCreation": {
            "type": "boolean",
            "example": true,
            "description": "Create initial task or not"
          }
        },
        "required": [
          "title",
          "rruleOptions"
        ]
      },
      "locations_RecurringTaskUpdateDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "Task Name",
            "description": "Name of the task"
          },
          "description": {
            "type": "string",
            "example": "Task Description",
            "description": "Description of the task"
          },
          "contactIds": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Contact Id",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "owners": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Assigned To",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rruleOptions": {
            "example": {
              "intervalType": "hourly",
              "interval": 1,
              "startDate": "2025-07-23T10:00:00.000Z",
              "dueAfterSeconds": 600
            },
            "description": "Recurring rules",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_CustomRRulesOptions"
              }
            ]
          },
          "ignoreTaskCreation": {
            "type": "boolean",
            "example": true,
            "description": "Create initial task or not"
          }
        }
      },
      "locations_DeleteRecurringTaskResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Recurring Task Id"
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success"
          }
        },
        "required": [
          "id",
          "success"
        ]
      },
      "marketplace_RaiseChargeBodyDTO": {
        "type": "object",
        "properties": {
          "appId": {
            "type": "string",
            "description": "App ID of the App",
            "example": "6578278e879ad2646715ba9c"
          },
          "meterId": {
            "type": "string",
            "description": "Billing Meter ID (you can find this on your app's pricing page)",
            "example": "680b97022b4a34420f5f9b93"
          },
          "eventId": {
            "type": "string",
            "description": "Event ID / Transaction ID on your server's side. This will help you maintain the reference of the event/transaction on your end that you charged the customer for.",
            "example": "evt_abc123"
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "user_abc123"
          },
          "locationId": {
            "type": "string",
            "description": "ID of the Sub-Account to be charged",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "companyId": {
            "type": "string",
            "description": "ID of the Agency the Sub-account belongs to",
            "example": "company_abc123"
          },
          "description": {
            "type": "string",
            "description": "Description of the charge",
            "example": "Charge for sending 10 SMS messages"
          },
          "price": {
            "type": "number",
            "description": "Price per unit to charge",
            "example": 0.01
          },
          "units": {
            "type": "number",
            "description": "Number of units to charge",
            "example": 10
          },
          "eventTime": {
            "type": "string",
            "description": "The timestamp when the event/transaction was performed. If blank, the billing timestamp will be set as the event time. ISO8601 Format.",
            "example": "2025-03-26T00:00:000Z"
          }
        },
        "required": [
          "appId",
          "meterId",
          "eventId",
          "locationId",
          "companyId",
          "description",
          "units"
        ]
      },
      "marketplace_DeleteIntegrationBodyDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "The company id from which the application is to be uninstalled. If you pass agency token, then companyId is required. It will uninstall application from agency as well as all sub-accounts.",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "The location id from which the application is to be uninstalled. If you pass location token, then locationId is required. It will uninstall application from that location only.",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "reason": {
            "type": "string",
            "description": "The reason for uninstalling the application. Reason is required if you are uninstalling the application as a developer.",
            "example": "Application is not working as expected"
          }
        }
      },
      "marketplace_DeleteIntegrationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "The status of the uninstallation of the application",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "marketplace_WhitelabelDetailsDTO": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Domain of the whitelabel company",
            "example": "example.com"
          },
          "logoUrl": {
            "type": "string",
            "description": "Logo URL of the whitelabel company",
            "example": "https://example.com/logo.png"
          }
        },
        "required": [
          "domain",
          "logoUrl"
        ]
      },
      "marketplace_InstallerDetailsDTO": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "company123"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID (if applicable)",
            "example": "location123"
          },
          "companyName": {
            "type": "string",
            "description": "Company name",
            "example": "Example Company"
          },
          "relationshipNumber": {
            "type": "string",
            "description": "Company relationship number",
            "example": "0-002-230"
          },
          "companyEmail": {
            "type": "string",
            "description": "Company email. Will be null for sub-account installations due to PII concerns.",
            "example": "contact@example.com",
            "nullable": true
          },
          "companyOwnerFullName": {
            "type": "string",
            "description": "Company owner full name. Will be null for sub-account installations due to PII concerns.",
            "example": "John Doe",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "User ID who installed the app",
            "example": "user123"
          },
          "isWhitelabelCompany": {
            "type": "boolean",
            "description": "Whether the company is a whitelabel company",
            "example": false
          },
          "companyPlan": {
            "type": "string",
            "description": "Company plan. Will be null for sub-account installations due to business sensitivity.",
            "example": "agency_monthly_497",
            "nullable": true
          },
          "companyCRM GesvisionPlan": {
            "type": "string",
            "description": "Company plan. Will be null for sub-account installations due to business sensitivity.",
            "example": "agency_monthly_497",
            "nullable": true,
            "deprecated": true
          },
          "marketplaceAppPlanId": {
            "type": "string",
            "description": "Marketplace app plan ID for paid apps",
            "example": "plan123"
          },
          "whitelabelDetails": {
            "description": "Whitelabel details (only present if isWhitelabelCompany is true)",
            "example": {
              "domain": "example.com",
              "logoUrl": "https://example.com/logo.png"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/marketplace_WhitelabelDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "companyId",
          "companyName",
          "relationshipNumber",
          "userId",
          "isWhitelabelCompany"
        ]
      },
      "marketplace_GetInstallerDetailsResponseDTO": {
        "type": "object",
        "properties": {
          "installationDetails": {
            "description": "Installation details",
            "example": {
              "companyId": "company123",
              "locationId": "location123",
              "companyName": "Example Company",
              "relationshipNumber": "0-002-230",
              "companyEmail": "contact@example.com",
              "companyOwnerFullName": "John Doe",
              "userId": "user123",
              "isWhitelabelCompany": false,
              "companyPlan": "agency_monthly_497",
              "companyCRM GesvisionPlan": "agency_monthly_497",
              "marketplaceAppPlanId": "plan123"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/marketplace_InstallerDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "installationDetails"
        ]
      },
      "marketplace_SubscriptionPlanDTO": {
        "type": "object",
        "properties": {
          "resellingAmount": {
            "type": "number",
            "description": "The reselling amount",
            "example": 0
          },
          "baseAmount": {
            "type": "number",
            "description": "The base amount",
            "example": 0
          },
          "planId": {
            "type": "string",
            "description": "The plan id",
            "example": "5ae000000000000000000000"
          },
          "features": {
            "description": "The features",
            "example": [
              "feature1",
              "feature2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "paymentType": {
            "type": "string",
            "description": "The payment time",
            "example": "month"
          },
          "name": {
            "type": "string",
            "description": "The plan name",
            "example": "Monthly Plan - 999"
          },
          "paymentTime": {
            "type": "string",
            "description": "The payment time",
            "example": "month"
          }
        },
        "required": [
          "resellingAmount",
          "baseAmount",
          "planId",
          "features",
          "paymentType",
          "name",
          "paymentTime"
        ]
      },
      "marketplace_UsagePlanDTO": {
        "type": "object",
        "properties": {
          "productType": {
            "type": "string",
            "description": "The product type",
            "example": "workflow_action"
          },
          "productName": {
            "type": "string",
            "description": "The product name",
            "example": "Send Group iMessage"
          },
          "usageUnit": {
            "type": "string",
            "description": "The usage unit for the meter",
            "example": "action / message"
          },
          "meterId": {
            "type": "string",
            "description": "The meter id",
            "example": "680b97022b4a34420f5f9b93"
          },
          "meterName": {
            "type": "string",
            "description": "The meter name",
            "example": "Send Group iMessage"
          },
          "fixedPricePerUnit": {
            "type": "number",
            "description": "The fixed price per unit, applicable for fixed price type",
            "example": 0.01001
          },
          "priceType": {
            "type": "string",
            "description": "The price type",
            "example": "fixed",
            "enum": [
              "fixed",
              "dynamic"
            ]
          },
          "minPricePerUnit": {
            "type": "string",
            "description": "The min price per unit, applicable for dynamic price type",
            "example": "0.01001"
          },
          "maxPricePerUnit": {
            "type": "string",
            "description": "The max price per unit, applicable for dynamic price type",
            "example": "0.01001"
          },
          "executionLimitPerCycle": {
            "type": "number",
            "description": "The execution limit per cycle",
            "example": 1000
          }
        },
        "required": [
          "productType",
          "productName",
          "usageUnit",
          "meterId",
          "meterName",
          "fixedPricePerUnit",
          "priceType",
          "minPricePerUnit",
          "maxPricePerUnit",
          "executionLimitPerCycle"
        ]
      },
      "marketplace_PlansDTO": {
        "type": "object",
        "properties": {
          "subscription": {
            "description": "Subscription plans",
            "example": [
              {
                "resellingAmount": 0,
                "baseAmount": 999,
                "planId": "5ae000000000000000000000",
                "features": [
                  "feature1",
                  "feature2"
                ],
                "paymentType": "month",
                "name": "Monthly Plan - 999",
                "paymentTime": "month"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/marketplace_SubscriptionPlanDTO"
            }
          },
          "usage": {
            "description": "Usage-based plans",
            "example": [
              {
                "productType": "workflow_action",
                "productName": "Send Group iMessage",
                "usageUnit": "action / message",
                "meterId": "680b97022b4a34420f5f9b93",
                "meterName": "Send Group iMessage",
                "fixedPricePerUnit": 0.01001,
                "priceType": "fixed",
                "minPricePerUnit": "0.01001",
                "maxPricePerUnit": "0.01001",
                "executionLimitPerCycle": 1000
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/marketplace_UsagePlanDTO"
            }
          }
        },
        "required": [
          "subscription",
          "usage"
        ]
      },
      "marketplace_GetRebillingConfigResponseDTO": {
        "type": "object",
        "properties": {
          "plans": {
            "description": "The rebilling plans configuration",
            "example": {
              "subscription": [
                {
                  "resellingAmount": 0,
                  "baseAmount": 999,
                  "planId": "5ae000000000000000000000",
                  "features": [
                    "feature1",
                    "feature2"
                  ],
                  "paymentType": "month",
                  "name": "Monthly Plan - 999",
                  "paymentTime": "month"
                }
              ],
              "usage": [
                {
                  "productType": "workflow_action",
                  "productName": "Send Group iMessage",
                  "usageUnit": "action / message",
                  "meterId": "680b97022b4a34420f5f9b93",
                  "meterName": "Send Group iMessage",
                  "fixedPricePerUnit": 0.01001,
                  "priceType": "fixed",
                  "minPricePerUnit": "0.01001",
                  "maxPricePerUnit": "0.01001",
                  "executionLimitPerCycle": 1000
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/marketplace_PlansDTO"
              }
            ]
          }
        },
        "required": [
          "plans"
        ]
      },
      "marketplace_MigrateConnectionDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "oauth2",
              "basic"
            ],
            "example": "oauth2",
            "description": "Type of authentication - basic or oauth2"
          },
          "locationId": {
            "type": "string",
            "example": "location_12345",
            "description": "Location ID"
          },
          "appId": {
            "type": "string",
            "example": "507f1f77bcf86cd799439011",
            "description": "App ID"
          },
          "appVersionId": {
            "type": "string",
            "example": "507f1f77bcf86cd799439012",
            "description": "App Version ID"
          },
          "accountId": {
            "type": "string",
            "example": "my-connection-identifier",
            "description": "Connection identifier"
          },
          "apiKey": {
            "type": "string",
            "example": "sk_test_1234567890",
            "description": "API Key (supported when type is basic)"
          },
          "basicCredentials": {
            "type": "object",
            "example": {
              "email": "user@example.com",
              "password": "p@ssw0rd"
            },
            "description": "Basic auth credentials as key/value pairs (supported when type is basic). Keys are validated against the app version externalAuthConfig.fields."
          },
          "accessToken": {
            "type": "string",
            "example": "ya29.a0AfH6SMBx...",
            "description": "Access token (required when type is oauth2)"
          },
          "refreshToken": {
            "type": "string",
            "example": "1//0gHq5F...",
            "description": "Refresh token (required when type is oauth2)"
          },
          "expiryIn": {
            "type": "number",
            "example": 3600000,
            "description": "Access token expiry time in milliseconds (optional for oauth2)"
          },
          "expiryAt": {
            "type": "number",
            "example": 1735689600000,
            "description": "Timestamp for access token expiry (optional for oauth2)"
          },
          "scopes": {
            "example": [
              "contacts.readonly",
              "contacts.write"
            ],
            "description": "OAuth2 scopes (optional for oauth2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "displayName": {
            "type": "string",
            "example": "My Connection Display Name",
            "description": "Display name for the connection (optional, defaults to accountId)"
          },
          "isDefault": {
            "type": "boolean",
            "example": false,
            "description": "Whether this is the default connection for the location (optional, defaults to false)"
          }
        },
        "required": [
          "type",
          "locationId",
          "appId",
          "appVersionId",
          "accountId"
        ]
      },
      "marketplace_MigrateConnectionResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the migration was successful"
          },
          "identifier": {
            "type": "string",
            "example": "migration_12345",
            "description": "Unique identifier for the migrated connection"
          },
          "message": {
            "type": "string",
            "example": "Connection migrated successfully",
            "description": "Message describing the result"
          }
        },
        "required": [
          "success",
          "identifier"
        ]
      },
      "marketplace_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "HTTP status code",
            "example": 500
          },
          "message": {
            "type": "string",
            "description": "Error message describing the internal server error",
            "example": "Internal Server Error"
          }
        }
      },
      "medias_GetFilesResponseDTO": {
        "type": "object",
        "properties": {
          "files": {
            "description": "Array of File Objects",
            "example": {
              "altId": "locationId",
              "altType": "location",
              "name": "file name",
              "parentId": "parent folder id",
              "url": "file url",
              "path": "file path"
            },
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "files"
        ]
      },
      "medias_UploadFileResponseDTO": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "description": "ID of the uploaded file",
            "example": "file.pdf"
          },
          "url": {
            "type": "string",
            "description": "Google Cloud Storage URL of the uploaded file",
            "example": "https://storage.googleapis.com/bucket-name/path/to/file.pdf"
          }
        },
        "required": [
          "fileId",
          "url"
        ]
      },
      "medias_FolderDTO": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location identifier that owns this folder",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the folder",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Name of the folder",
            "example": "New Folder"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder (null for root folders)",
            "example": "64af50c42d567a3b4f5989e0"
          },
          "type": {
            "type": "string",
            "description": "Type of the object (always 'folder' for folders)",
            "example": "folder"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the folder has been deleted",
            "example": false
          },
          "pendingUpload": {
            "type": "boolean",
            "description": "Whether there are pending uploads to this folder",
            "example": false
          },
          "category": {
            "type": "string",
            "description": "Primary category of content stored in the folder",
            "example": "image"
          },
          "subCategory": {
            "type": "string",
            "description": "Sub-category of content stored in the folder",
            "example": "logo"
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether the folder is private and not publicly accessible",
            "example": false
          },
          "relocatedFolder": {
            "type": "boolean",
            "description": "Whether the folder has been moved from its original location",
            "example": false
          },
          "migrationCompleted": {
            "type": "boolean",
            "description": "Whether the data migration process has been completed for this folder",
            "example": true
          },
          "appFolder": {
            "type": "boolean",
            "description": "Whether this is a system-generated application folder",
            "example": false
          },
          "isEssential": {
            "type": "boolean",
            "description": "Whether the folder is essential and should not be deleted",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "Current status of the folder"
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "ID of the user who last updated the folder",
            "example": "user-uuid-123"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "type"
        ]
      },
      "medias_CreateFolderParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity (location only)",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Name of the folder to be created",
            "example": "New Folder"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder (optional)",
            "example": "64af50c42d567a3b4f5989e0"
          }
        },
        "required": [
          "altId",
          "altType",
          "name"
        ]
      },
      "medias_UpdateObject": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "New name for the file or folder",
            "example": "Updated File Name.pdf"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the file or folder",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "altId": {
            "type": "string",
            "description": "Location identifier that owns the file or folder",
            "example": "sx6wyHhbFdRXh302LLNR"
          }
        },
        "required": [
          "name",
          "altType",
          "altId"
        ]
      },
      "medias_UpdateMediaObjects": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location identifier",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the files",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "filesToBeUpdated": {
            "type": "array",
            "description": "Array of file objects to be updated",
            "items": {
              "$ref": "#/components/schemas/medias_UpdateMediaObject"
            },
            "example": [
              {
                "id": "686f9817f0d3165be9fbcef6",
                "name": "Updated File Name.pdf"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "filesToBeUpdated"
        ]
      },
      "medias_DeleteMediaObjectItem": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique identifier of the file or folder to be deleted",
            "example": "686f630df0d3166d68fbcec2"
          }
        },
        "required": [
          "_id"
        ]
      },
      "medias_UpdateMediaObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the file or folder to be updated",
            "example": "686f9817f0d3165be9fbcef6"
          },
          "name": {
            "type": "string",
            "description": "New name for the file or folder",
            "example": "Updated File Name.pdf"
          }
        },
        "required": [
          "id"
        ]
      },
      "medias_DeleteMediaObjectsBodyParams": {
        "type": "object",
        "properties": {
          "filesToBeDeleted": {
            "type": "array",
            "description": "Array of file objects to be deleted or trashed",
            "items": {
              "$ref": "#/components/schemas/medias_DeleteMediaObjectItem"
            },
            "example": [
              {
                "_id": "686f630df0d3166d68fbcec2"
              }
            ]
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the files",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "altId": {
            "type": "string",
            "description": "Location identifier",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "status": {
            "type": "string",
            "description": "Status to set for the files (deleted or trashed)",
            "enum": [
              "deleted",
              "trashed"
            ],
            "example": "deleted"
          }
        },
        "required": [
          "filesToBeDeleted",
          "altType",
          "altId",
          "status"
        ]
      },
      "medias_MoveOrDeleteObjectParams": {
        "type": "object",
        "properties": {
          "altType": {
            "type": "string"
          },
          "altId": {
            "type": "string"
          },
          "_id": {
            "type": "string"
          }
        },
        "required": [
          "altType",
          "altId",
          "_id"
        ]
      },
      "oauth_GetAccessCodebodyDto": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "description": "The ID provided by the platform for your integration"
          },
          "client_secret": {
            "type": "string"
          },
          "grant_type": {
            "type": "string",
            "enum": [
              "authorization_code",
              "refresh_token",
              "client_credentials"
            ]
          },
          "code": {
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          },
          "user_type": {
            "type": "string",
            "description": "The type of token to be requested",
            "example": "Location",
            "enum": [
              "Company",
              "Location"
            ]
          },
          "redirect_uri": {
            "type": "string",
            "description": "The redirect URI for your application",
            "example": "https://myapp.com/oauth/callback/gocrm-gesvision"
          }
        },
        "required": [
          "client_id",
          "client_secret",
          "grant_type"
        ]
      },
      "oauth_GetAccessCodeSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh"
          },
          "token_type": {
            "type": "string",
            "example": "Bearer"
          },
          "expires_in": {
            "type": "number",
            "example": 86399
          },
          "refresh_token": {
            "type": "string",
            "example": "xy34dc0ae1234a4858f9ff06d4f66ba"
          },
          "scope": {
            "type": "string",
            "example": "conversations/message.readonly conversations/message.write"
          },
          "userType": {
            "type": "string",
            "example": "Location"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID - Present only for Sub-Account Access Token",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "approvedLocations": {
            "description": "Approved locations to generate location access token",
            "example": [
              "l1C08ntBrFjLS0elLIYU"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userId": {
            "type": "string",
            "description": "USER ID - Represent user id of person who performed installation",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "planId": {
            "type": "string",
            "description": "Plan Id of the subscribed plan in paid apps.",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "isBulkInstallation": {
            "type": "boolean",
            "example": "Bearer"
          },
          "installToFutureLocations": {
            "type": "boolean",
            "description": "Boolean to control if user wants app to be automatically installed to future locations (only for company tokens)",
            "example": true
          },
          "approveAllLocations": {
            "type": "boolean",
            "description": "Boolean indicating if user approved all locations during bulk installation (only for company tokens)",
            "example": true
          }
        },
        "required": [
          "userId"
        ]
      },
      "oauth_GetLocationAccessCodeBodyDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "Company Id of location you want to request token for"
          },
          "locationId": {
            "type": "string",
            "description": "The location ID for which you want to obtain accessToken"
          }
        },
        "required": [
          "companyId",
          "locationId"
        ]
      },
      "oauth_GetLocationAccessTokenSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh",
            "description": "Location access token which can be used to authenticate & authorize API under following scope"
          },
          "token_type": {
            "type": "string",
            "example": "Bearer"
          },
          "expires_in": {
            "type": "number",
            "example": 86399,
            "description": "Time in seconds remaining for token to expire"
          },
          "scope": {
            "type": "string",
            "example": "conversations/message.readonly conversations/message.write",
            "description": "Scopes the following accessToken have access to"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID - Present only for Sub-Account Access Token",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "planId": {
            "type": "string",
            "description": "Plan Id of the subscribed plan in paid apps.",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "userId": {
            "type": "string",
            "description": "USER ID - Represent user id of person who performed installation",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "appId": {
            "type": "string",
            "description": "App ID of the installed application",
            "example": "6578278e879ad2646715ba9c"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID of the installed app version",
            "example": "6578278e879ad2646715ba9c"
          }
        },
        "required": [
          "userId"
        ]
      },
      "oauth_InstalledLocationSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "0IHuJvc2ofPAAA8GzTRi",
            "description": "Location ID"
          },
          "name": {
            "type": "string",
            "example": "John Deo",
            "description": "Name of the location"
          },
          "address": {
            "type": "string",
            "example": "47 W 13th St, New York, NY 10011, USA",
            "description": "Address linked to location"
          },
          "isInstalled": {
            "type": "boolean",
            "example": true,
            "description": "Check if the requested app is installed for following location"
          },
          "versionId": {
            "type": "string",
            "example": "6578278e879ad2646715ba9c",
            "description": "Version ID of the installed app version for this location"
          },
          "installedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2024-01-15T10:30:00.000Z",
            "description": "Timestamp when the app was installed on this location"
          }
        },
        "required": [
          "_id",
          "name",
          "address"
        ]
      },
      "oauth_GetInstalledLocationsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/oauth_InstalledLocationSchema"
            }
          },
          "count": {
            "type": "number",
            "example": 1231,
            "description": "Total location count under the company"
          },
          "installToFutureLocations": {
            "type": "boolean",
            "description": "Boolean to control if user wants app to be automatically installed to future locations",
            "example": true
          }
        }
      },
      "objects_CustomObjectLabelDto": {
        "type": "object",
        "properties": {
          "singular": {
            "type": "string",
            "example": "Pet",
            "description": "Singular name of the custom object"
          },
          "plural": {
            "type": "string",
            "example": "Pets",
            "description": "Plural name of the custom object"
          }
        },
        "required": [
          "singular",
          "plural"
        ]
      },
      "objects_ICustomObjectSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "661c06b4ffde146bdb469442",
            "description": "id of the custom / standard object schema"
          },
          "standard": {
            "type": "boolean",
            "example": false,
            "description": "false in case of custom objects and true in case of standard objects like contacts and opportunities "
          },
          "key": {
            "type": "string",
            "example": "custom_objects.pet",
            "description": "key that would be used to refer the custom / standard Object internally (lowercase + underscore_separated). For custom objects, 'custom_objects.' would be added as prefix by default"
          },
          "labels": {
            "example": {
              "singular": "Pet",
              "plural": "Pets"
            },
            "description": "This is what your custom / standard  object will be called. These labels will be used to display your custom object on the UI",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_CustomObjectLabelDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "example": "These are non vaccinated pets",
            "description": "Custom / Standard  Object Descriptions for example , Pet Object`s description"
          },
          "locationId": {
            "type": "string",
            "description": "location's id",
            "example": "Q9DT3OAqEXDLYuob1G32"
          },
          "primaryDisplayProperty": {
            "type": "string",
            "description": "Primary property for the custom / standard  Object. This would be used as primary data when rendering the UI. 'custom_objects.{{object_key}} or business.{{object_key}} (for company)' would be added as prefix by default for all the custom / standard objects",
            "example": "custom_objects.pet.name"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          },
          "type": {
            "type": "object",
            "example": "The Object type can either USER_DEFINED or SYSTEM_DEFINED",
            "description": "Object`s Type"
          }
        },
        "required": [
          "id",
          "standard",
          "key",
          "labels",
          "locationId",
          "primaryDisplayProperty",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "objects_OptionDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of the option (Included in Create and Response, excluded in Update)"
          },
          "label": {
            "type": "string",
            "description": "Value of the option"
          },
          "url": {
            "type": "string",
            "description": "URL associated with the option (Optional, valid only for RADIO type)"
          }
        },
        "required": [
          "key",
          "label"
        ]
      },
      "objects_ICustomField": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the object"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom / standard object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "dataType": {
            "type": "string",
            "enum": [
              "TEXT",
              "LARGE_TEXT",
              "NUMERICAL",
              "PHONE",
              "MONETORY",
              "CHECKBOX",
              "SINGLE_OPTIONS",
              "MULTIPLE_OPTIONS",
              "DATE",
              "TEXTBOX_LIST",
              "FILE_UPLOAD",
              "RADIO"
            ],
            "description": "Type of field that you are trying to create"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder",
            "example": "3v34PM428h8vShlRW1KT"
          },
          "fieldKey": {
            "type": "string",
            "description": "Field key. For Custom Object it's formatted as \"custom_object.{objectKey}.{fieldKey}\". \"custom_object\" is a fixed prefix, \"{objectKey}\" is your custom object's identifier, and \"{fieldName}\" is the unique field name within that object. Example: \"custom_object.pet.name\" for a \"name\" field in a \"pet\" custom object.",
            "example": "custom_object.pet.name"
          },
          "allowCustomOption": {
            "type": "boolean",
            "description": "Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.",
            "example": true
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads",
            "example": 2
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          }
        },
        "required": [
          "locationId",
          "showInForms",
          "id",
          "objectKey",
          "dataType",
          "parentId",
          "fieldKey",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "objects_CustomObjectByIdResponseDTO": {
        "type": "object",
        "properties": {
          "object": {
            "$ref": "#/components/schemas/objects_ICustomObjectSchema"
          },
          "cache": {
            "type": "boolean",
            "description": "Is the response served from cache",
            "example": true
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_ICustomField"
            }
          }
        },
        "required": [
          "cache"
        ]
      },
      "objects_CustomObjectListResponseDTO": {
        "type": "object",
        "properties": {
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_ICustomObjectSchema"
            }
          }
        }
      },
      "objects_CustomObjectDisplayPropertyDetails": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "example": "custom_objects.pet.name",
            "description": "key that would be used to refer the custom field internally (lowercase + underscore_separated). 'custom_objects.{{objectKey}}' would be added as prefix by default is not passed"
          },
          "name": {
            "type": "string",
            "example": "Pet name",
            "description": "Name of the Primary property name which will be displayed on the record page"
          },
          "dataType": {
            "type": "string",
            "example": "TEXT",
            "description": "Primary property data Type (it can either be TEXT or NUMERICAL type)"
          }
        },
        "required": [
          "key",
          "name",
          "dataType"
        ]
      },
      "objects_CreateCustomObjectSchemaDTO": {
        "type": "object",
        "properties": {
          "labels": {
            "example": {
              "singular": "Pet",
              "plural": "Pets"
            },
            "description": "This is what your custom object will be called. These labels will be used to display your custom object on the UI",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_CustomObjectLabelDto"
              }
            ]
          },
          "key": {
            "type": "string",
            "example": "custom_objects.pet",
            "description": "key that would be used to refer the Custom Object internally (lowercase + underscore_separated). 'custom_objects.' would be added as prefix by default"
          },
          "description": {
            "type": "string",
            "example": "These are non vaccinated pets",
            "description": "Pet Object`s description"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "primaryDisplayPropertyDetails": {
            "description": "Primary property which will be displayed on the record page",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_CustomObjectDisplayPropertyDetails"
              }
            ]
          }
        },
        "required": [
          "labels",
          "key",
          "locationId",
          "primaryDisplayPropertyDetails"
        ]
      },
      "objects_CustomObjectResponseDTO": {
        "type": "object",
        "properties": {
          "object": {
            "$ref": "#/components/schemas/objects_ICustomObjectSchema"
          }
        }
      },
      "objects_CustomObjectLabelUpdateDto": {
        "type": "object",
        "properties": {
          "singular": {
            "type": "string",
            "example": "Car",
            "description": "Singular name of the custom object"
          },
          "plural": {
            "type": "string",
            "example": "Cars",
            "description": "Plural name of the custom object"
          }
        }
      },
      "objects_UpdateCustomObjectSchemaDTO": {
        "type": "object",
        "properties": {
          "labels": {
            "example": {
              "singular": "Pet",
              "plural": "Pets"
            },
            "description": "This is how your custom object will  be  displayed",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_CustomObjectLabelUpdateDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "example": "These are non vaccinated pets",
            "description": "Pet Object`s description",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "description": "location id",
            "example": "632c34b4c9b7da3358ac9891"
          },
          "searchableProperties": {
            "description": "Searchable Fields: Provide the field key of your object that you want to search on, using the format (custom_object.<object_name>.<field_key>).",
            "example": [
              "custom_objects.mad.mad",
              "custom_objects.mad.record_1",
              "custom_objects.mad.nn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "searchableProperties"
        ]
      },
      "objects_IRecordSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "661c06b4ffde146bdb469442",
            "description": "id of the record"
          },
          "owner": {
            "description": "Owner (User's id). Limited to 1 for now. Only Supported with custom objects",
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followers": {
            "description": "Follower (User's ids). Limited to 10 for now",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "v5cEPM428h8vShlRW1KT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "string",
            "example": {
              "customer_number": 1424,
              "ticket_name": "Customer not able login",
              "phone_number": "+917000000000",
              "money": {
                "currency": "default",
                "value": 100
              },
              "type_of_ticket": "doubt",
              "section_of_app": [
                "contacts",
                "smartlist"
              ],
              "recieved_on": "2024-07-11",
              "my_files": [
                {
                  "url": "---url_of_file---"
                }
              ],
              "my_textbox_list.option_a": "Value 1",
              "my_textbox_list.option_b": "Value 2"
            },
            "description": "Properties of the record"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "owner",
          "followers",
          "properties",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "objects_RecordByIdResponseDTO": {
        "type": "object",
        "properties": {
          "record": {
            "$ref": "#/components/schemas/objects_IRecordSchema"
          }
        }
      },
      "objects_CreateCustomObjectRecordDto": {
        "type": "object",
        "properties": {}
      },
      "objects_UpdateCustomObjectRecordDto": {
        "type": "object",
        "properties": {}
      },
      "objects_ObjectRecordDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the deleted object",
            "example": "661c06b4ffde146bdb469442"
          },
          "success": {
            "type": "boolean",
            "description": "boolean that defines if the operation was a success or not",
            "example": true
          }
        }
      },
      "objects_SearchRecordsBody": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "page": {
            "type": "number",
            "description": "Page",
            "example": 1
          },
          "pageLimit": {
            "type": "number",
            "description": "Page Limit",
            "example": 10
          },
          "query": {
            "type": "string",
            "example": "Buddy",
            "description": "Pass this query parameter to search using your searchable properties. For example, if you have a custom object called “Pets” and have configured “name” as a searchable property, you can pass name:Buddy to search for pets with the name “Buddy.”"
          },
          "searchAfter": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "page",
          "pageLimit",
          "query",
          "searchAfter"
        ]
      },
      "objects_CreatedByResponseDTO": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "description": "Creation Channel",
            "example": "WEB_USER"
          },
          "createdAt": {
            "type": "string",
            "description": "Created At",
            "example": "2025-01-02T09:35:39.032Z"
          },
          "source": {
            "type": "string",
            "description": "From where the record was created",
            "example": "PUBLIC_API"
          },
          "sourceId": {
            "type": "string",
            "description": "User/Resource Id",
            "example": "26653146-ec82-435d-8a99-84ecdb7fde13"
          }
        },
        "required": [
          "channel",
          "createdAt",
          "source",
          "sourceId"
        ]
      },
      "objects_RecordResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "661c06b4ffde146bdb469442",
            "description": "id of the record"
          },
          "owner": {
            "description": "Owner (User's id). Limited to 1 for now . Only supported for custom objects for now",
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followers": {
            "description": "Follower (User's ids). Limited to 10 and supported for custom objects for now",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "v5cEPM428h8vShlRW1KT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "string",
            "example": {
              "customer_number": 1424,
              "ticket_name": "Customer not able login",
              "phone_number": "+917000000000",
              "money": {
                "currency": "default",
                "value": 100
              },
              "type_of_ticket": "doubt",
              "section_of_app": [
                "contacts",
                "smartlist"
              ],
              "recieved_on": "2024-07-11",
              "my_files": [
                {
                  "url": "---url_of_file---"
                }
              ],
              "my_textbox_list.option_a": "Value 1",
              "my_textbox_list.option_b": "Value 2"
            },
            "description": "Properties of the record"
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "objectId": {
            "type": "string",
            "description": "ObjectId Id",
            "example": "6d6f6e676f5f6576656e7473"
          },
          "objectKey": {
            "type": "string",
            "description": "ObjectId key",
            "example": "custom_objects.pet"
          },
          "createdBy": {
            "description": "Created By Meta",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_CreatedByResponseDTO"
              }
            ]
          },
          "lastUpdatedBy": {
            "description": "Last Updated By Meta",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_CreatedByResponseDTO"
              }
            ]
          },
          "searchAfter": {
            "example": [
              1738683828372,
              "67a235b49b289431bcf657f8"
            ],
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "id",
          "owner",
          "followers",
          "properties",
          "createdAt",
          "updatedAt",
          "locationId",
          "objectId",
          "objectKey",
          "createdBy",
          "lastUpdatedBy",
          "searchAfter"
        ]
      },
      "objects_SearchRecordResponseDTO": {
        "type": "object",
        "properties": {
          "records": {
            "description": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_RecordResponseDTO"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Number of records",
            "example": 20
          }
        },
        "required": [
          "total"
        ]
      },
      "opportunities_LostReasonResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "lost reason id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "lost reason name",
            "example": "lost reason"
          },
          "locationId": {
            "type": "string",
            "description": "location id",
            "example": "location_id"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated at",
            "example": "2023-06-19T12:04:22.488Z"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created at",
            "example": "2023-06-19T12:04:22.488Z"
          }
        }
      },
      "opportunities_LostReasonsResponseSchema": {
        "type": "object",
        "properties": {
          "lostReasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_LostReasonResponseSchema"
            }
          },
          "total": {
            "type": "number",
            "example": 100
          }
        }
      },
      "opportunities_SearchOpportunitiesContactResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "byMEV0NQinDhq8ZfiOi2"
          },
          "name": {
            "type": "string",
            "example": "John Deo"
          },
          "companyName": {
            "type": "string",
            "example": "Tesla Inc"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "phone": {
            "type": "string",
            "example": "+1202-555-0107"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "opportunities_CustomFieldResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "MgobCB14YMVKuE4Ka8p1"
          },
          "fieldValue": {
            "description": "The value of the custom field",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            ]
          }
        },
        "required": [
          "id",
          "fieldValue"
        ]
      },
      "opportunities_SearchOpportunitiesResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "yWQobCRIhRguQtD2llvk"
          },
          "name": {
            "type": "string",
            "example": "testing"
          },
          "monetaryValue": {
            "type": "number",
            "example": 500
          },
          "pipelineId": {
            "type": "string",
            "example": "VDm7RPYC2GLUvdpKmBfC"
          },
          "pipelineStageId": {
            "type": "string",
            "example": "e93ba61a-53b3-45e7-985a-c7732dbcdb69"
          },
          "assignedTo": {
            "type": "string",
            "example": "zT46WSCPbudrq4zhWMk6"
          },
          "status": {
            "type": "string",
            "example": "open"
          },
          "source": {
            "type": "string",
            "example": ""
          },
          "lastStatusChangeAt": {
            "type": "string",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "lastStageChangeAt": {
            "type": "string",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "lastActionDate": {
            "type": "string",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "indexVersion": {
            "type": "string",
            "example": 1
          },
          "createdAt": {
            "type": "string",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "updatedAt": {
            "type": "string",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "contactId": {
            "type": "string",
            "example": "zT46WSCPbudrq4zhWMk6"
          },
          "locationId": {
            "type": "string",
            "example": "zT46WSCPbudrq4zhW"
          },
          "contact": {
            "$ref": "#/components/schemas/opportunities_SearchOpportunitiesContactResponseSchema"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "calendarEvents": {
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "lostReasonId": {
            "type": "string",
            "example": "zT46WSCPbudrq4zhWMk6"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_CustomFieldResponseSchema"
            }
          },
          "followers": {
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "externalObjectId": {
            "type": "string"
          }
        }
      },
      "opportunities_SearchMetaResponseSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 1
          },
          "nextPageUrl": {
            "type": "string",
            "example": "http://localhost:5066/opportunities/search?q=&location_id=ve9EPM428h8vShlRW1KT&pipeline_id=&pipeline_stage_id=&status=&assigned_to+=&campaignId=&id=&order=&endDate=&startAfter=1625203104328&startAfterId=yWQobCRIhRguQtD2llvk&date=&limit=1&country=&page=1"
          },
          "startAfterId": {
            "type": "string",
            "example": "yWQobCRIhRguQtD2llvk"
          },
          "startAfter": {
            "type": "number",
            "example": 1625203104328
          },
          "currentPage": {
            "type": "number",
            "example": 2
          },
          "nextPage": {
            "type": "number",
            "example": 3
          },
          "prevPage": {
            "type": "number",
            "example": 1
          }
        }
      },
      "opportunities_SearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_SearchOpportunitiesResponseSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/opportunities_SearchMetaResponseSchema"
          },
          "aggregations": {
            "type": "object"
          }
        }
      },
      "opportunities_AdditionalDetailsDTO": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "boolean"
          },
          "tasks": {
            "type": "boolean"
          },
          "calendarEvents": {
            "type": "boolean"
          },
          "unReadConversations": {
            "type": "boolean"
          }
        },
        "required": [
          "notes",
          "tasks",
          "calendarEvents",
          "unReadConversations"
        ]
      },
      "opportunities_OpportunitySearchBodyDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "i2SpAtBVHSVea1sL6oah"
          },
          "query": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "page": {
            "type": "number"
          },
          "searchAfter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalDetails": {
            "$ref": "#/components/schemas/opportunities_AdditionalDetailsDTO"
          }
        },
        "required": [
          "locationId",
          "query",
          "limit",
          "page",
          "searchAfter",
          "additionalDetails"
        ]
      },
      "opportunities_PostSearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_SearchOpportunitiesResponseSchema"
            }
          },
          "total": {
            "type": "number",
            "example": 100
          },
          "aggregations": {
            "type": "object"
          }
        },
        "required": [
          "total"
        ]
      },
      "opportunities_PipelinesResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "aWdODOBVOlH1RUFKWQke"
          },
          "name": {
            "type": "string",
            "example": "new pipeline"
          },
          "stages": {
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "showInFunnel": {
            "type": "boolean",
            "example": false
          },
          "showInPieChart": {
            "type": "boolean",
            "example": true
          },
          "locationId": {
            "type": "string",
            "example": "dsjddjkndadqaja"
          },
          "colorRenderMode": {
            "type": "string",
            "enum": [
              "dot",
              "bg-tint",
              "none"
            ],
            "description": "How pipeline/stage colors are rendered"
          }
        }
      },
      "opportunities_GetPipelinesSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "pipelines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_PipelinesResponseSchema"
            }
          }
        }
      },
      "opportunities_GetPostOpportunitySuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunity": {
            "$ref": "#/components/schemas/opportunities_SearchOpportunitiesResponseSchema"
          }
        }
      },
      "opportunities_DeleteUpdateOpportunitySuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "opportunities_UpdateStatusDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ]
          },
          "lostReasonId": {
            "type": "string",
            "description": "lost reason Id",
            "example": "CLu7BaljjqrEjBGKTNNe"
          }
        },
        "required": [
          "status"
        ]
      },
      "opportunities_customFieldsInputArraySchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "opportunities_customFieldsInputObjectSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field"
          },
          "field_value": {
            "type": "object",
            "example": {}
          }
        },
        "required": [
          "id"
        ]
      },
      "opportunities_customFieldsInputStringSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ",
            "description": "Pass either `id` or `key` of custom field"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field",
            "description": "Pass either `id` or `key` of custom field"
          },
          "field_value": {
            "type": "string",
            "example": "9039160788"
          }
        }
      },
      "opportunities_CreateDto": {
        "type": "object",
        "properties": {
          "pipelineId": {
            "type": "string",
            "description": "pipeline Id",
            "example": "VDm7RPYC2GLUvdpKmBfC"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "example": "First Opps"
          },
          "pipelineStageId": {
            "type": "string",
            "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10"
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ]
          },
          "contactId": {
            "type": "string",
            "example": "mTkSCb1UBjb5tk4OvB69"
          },
          "monetaryValue": {
            "type": "number",
            "example": 220
          },
          "assignedTo": {
            "type": "string",
            "example": "082goXVW3lIExEQPOnd3"
          },
          "customFields": {
            "type": "array",
            "description": "Add custom fields to opportunities.",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/opportunities_customFieldsInputStringSchema"
                },
                {
                  "$ref": "#/components/schemas/opportunities_customFieldsInputArraySchema"
                },
                {
                  "$ref": "#/components/schemas/opportunities_customFieldsInputObjectSchema"
                }
              ]
            }
          }
        },
        "required": [
          "pipelineId",
          "locationId",
          "name",
          "status",
          "contactId"
        ]
      },
      "opportunities_UpdateOpportunityDto": {
        "type": "object",
        "properties": {
          "pipelineId": {
            "type": "string",
            "description": "pipeline Id",
            "example": "bCkKGpDsyPP4peuKowkG"
          },
          "name": {
            "type": "string",
            "example": "First Opps"
          },
          "pipelineStageId": {
            "type": "string",
            "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10"
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ]
          },
          "monetaryValue": {
            "type": "number",
            "example": 220
          },
          "assignedTo": {
            "type": "string",
            "example": "082goXVW3lIExEQPOnd3"
          },
          "customFields": {
            "type": "array",
            "description": "Update custom fields to opportunities.",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/opportunities_customFieldsInputStringSchema"
                },
                {
                  "$ref": "#/components/schemas/opportunities_customFieldsInputArraySchema"
                },
                {
                  "$ref": "#/components/schemas/opportunities_customFieldsInputObjectSchema"
                }
              ]
            }
          }
        }
      },
      "opportunities_UpsertOpportunityDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "opportunityId",
            "example": "yWQobCRIhRguQtD2llvk"
          },
          "pipelineId": {
            "type": "string",
            "description": "pipeline Id",
            "example": "bCkKGpDsyPP4peuKowkG"
          },
          "locationId": {
            "type": "string",
            "description": "locationId",
            "example": "CLu7BaljjqrEjBGKTNNe"
          },
          "followers": {
            "description": "contactId",
            "example": "LiKJ2vnRg5ETM8Z19K7",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isRemoveAllFollowers": {
            "type": "boolean",
            "description": "isRemoveAllFollowers",
            "example": true
          },
          "followersActionType": {
            "type": "string",
            "description": "followers action type",
            "enum": [
              "add",
              "remove"
            ],
            "example": "add"
          },
          "name": {
            "type": "string",
            "description": "name",
            "example": "opportunity name"
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ]
          },
          "pipelineStageId": {
            "type": "string",
            "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10"
          },
          "monetaryValue": {
            "type": "object",
            "example": 220
          },
          "assignedTo": {
            "type": "string",
            "example": "082goXVW3lIExEQPOnd3"
          },
          "lostReasonId": {
            "type": "string",
            "description": "lost reason Id",
            "example": "CLu7BaljjqrEjBGKTNNe"
          }
        },
        "required": [
          "pipelineId",
          "locationId",
          "followers",
          "isRemoveAllFollowers",
          "followersActionType"
        ]
      },
      "opportunities_UpsertOpportunitySuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "description": "Updated / New Opportunity"
          },
          "new": {
            "type": "boolean",
            "example": true
          }
        },
        "required": [
          "opportunity",
          "new"
        ]
      },
      "opportunities_FollowersDTO": {
        "type": "object",
        "properties": {
          "followers": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "followers"
        ]
      },
      "opportunities_CreateAddFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersAdded": {
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "opportunities_DeleteFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersRemoved": {
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "payments_CreateWhiteLabelIntegrationProviderDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "uniqueName": {
            "type": "string",
            "description": "A unique name given to the integration provider, uniqueName must start and end with a character. Only lowercase characters and hyphens (-) are supported",
            "example": "easy-direct"
          },
          "title": {
            "type": "string",
            "description": "The title or name of the integration provider.",
            "example": "Title"
          },
          "provider": {
            "type": "string",
            "description": "The type of payment provider associated with the integration provider.",
            "enum": [
              "authorize-net",
              "nmi"
            ],
            "example": {
              "AUTHORIZE_NET": "authorize-net",
              "NMI": "nmi"
            }
          },
          "description": {
            "type": "string",
            "description": "A brief description providing additional information about the integration provider.",
            "example": "Description"
          },
          "imageUrl": {
            "type": "string",
            "description": "The URL to an image representing the integration provider. The imageUrl should start with \"https://\" and ensure that this URL is publicly accessible.",
            "example": "https://example.com/image.jpg"
          }
        },
        "required": [
          "altId",
          "altType",
          "uniqueName",
          "title",
          "provider",
          "description",
          "imageUrl"
        ]
      },
      "payments_CreateWhitelabelIntegrationResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the integration provider.",
            "example": "65cb47dda50f4f13ced4b870"
          },
          "altId": {
            "type": "string",
            "description": "The altId / locationId of the integration provider.",
            "example": "Z4Bxl8J4SaPEPLq9IQ8g"
          },
          "altType": {
            "type": "string",
            "description": "The altType of the integration provider.",
            "example": "location"
          },
          "title": {
            "type": "string",
            "description": "The title or name of the integration provider.",
            "example": "Example"
          },
          "route": {
            "type": "string",
            "description": "The route name associated with the integration provider.",
            "example": "epd"
          },
          "provider": {
            "type": "string",
            "description": "The payment provider associated with the integration provider.",
            "example": "nmi"
          },
          "description": {
            "type": "string",
            "description": "A brief description providing additional information about the integration provider.",
            "example": "Lorem"
          },
          "imageUrl": {
            "type": "string",
            "description": "The URL to an image representing the integration provider.",
            "example": "https://example.com/assets/pmd/img/payments/nmi-logo.webp"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was created.",
            "example": "2024-02-13T10:43:41.026Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was last updated.",
            "example": "2024-02-13T10:43:41.026Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "title",
          "route",
          "provider",
          "description",
          "imageUrl",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_IntegrationProviderSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the integration provider.",
            "example": "65cb47dda50f4f13ced4b870"
          },
          "altId": {
            "type": "string",
            "description": "The altId / locationId of the integration provider.",
            "example": "Z4Bxl8J4SaPEPLq9IQ8g"
          },
          "altType": {
            "type": "string",
            "description": "The altType of the integration provider.",
            "example": "location"
          },
          "title": {
            "type": "string",
            "description": "The title or name of the integration provider.",
            "example": "Example"
          },
          "route": {
            "type": "string",
            "description": "The route name associated with the integration provider.",
            "example": "epd"
          },
          "provider": {
            "type": "string",
            "description": "The payment provider associated with the integration provider.",
            "example": "nmi"
          },
          "description": {
            "type": "string",
            "description": "A brief description providing additional information about the integration provider.",
            "example": "Lorem"
          },
          "imageUrl": {
            "type": "string",
            "description": "The URL to an image representing the integration provider.",
            "example": "https://example.com/assets/pmd/img/payments/nmi-logo.webp"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was created.",
            "example": "2024-02-13T10:43:41.026Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was last updated.",
            "example": "2024-02-13T10:43:41.026Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "title",
          "route",
          "provider",
          "description",
          "imageUrl",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_ListWhitelabelIntegrationProviderResponseDto": {
        "type": "object",
        "properties": {
          "providers": {
            "description": "list of integration provider.",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_IntegrationProviderSchema"
              }
            ]
          }
        },
        "required": [
          "providers"
        ]
      },
      "payments_OrderResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the order.",
            "example": "653f5e0cde5a1314e62a837c"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the order."
          },
          "contactName": {
            "type": "string",
            "example": "James Bond",
            "description": "Contact name corresponding to the order."
          },
          "contactEmail": {
            "type": "string",
            "example": "usuario@ejemplo.com",
            "description": "Contact email corresponding to the order."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which order was created."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Order value."
          },
          "subtotal": {
            "type": "number",
            "example": "100",
            "description": "Order sub-total value."
          },
          "discount": {
            "type": "number",
            "example": "10",
            "description": "Discount value on order."
          },
          "status": {
            "type": "string",
            "description": "The status of the order (e.g., completed).",
            "example": "completed"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Order is in live / test mode."
          },
          "totalProducts": {
            "type": "number",
            "example": "5",
            "description": "Total products in an order."
          },
          "sourceType": {
            "type": "string",
            "example": "funnel",
            "description": "Source type of order (eg: funnel)."
          },
          "sourceName": {
            "type": "string",
            "example": "onestep",
            "description": "Source name for the order."
          },
          "sourceId": {
            "type": "string",
            "description": "Source id for the order.",
            "example": "kDj7BHej9Zyyq3QakJmz"
          },
          "sourceMeta": {
            "type": "object",
            "description": "Meta content for the source of order.",
            "example": "{ domain: \"app.crm.gesvision.com\", pageId:  \"rBVhyYhMsbxbO8ZqOcei\", pageUrl:  \"/v2/preview/rBVhyYhMsbxbO8ZqOcei\", stepId:   \"5a772f62-3fbc-418b-af1b-be8929dd64c2\"}"
          },
          "couponCode": {
            "type": "string",
            "description": "Coupon code for the order.",
            "example": "100PER"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the order.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the order.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "sourceSubType": {
            "type": "string",
            "description": "Source sub-type for the order.",
            "example": "one_step_order_form"
          },
          "fulfillmentStatus": {
            "type": "string",
            "description": "Fulfillment status of the order.",
            "example": "unfulfilled"
          },
          "onetimeProducts": {
            "type": "number",
            "example": "1",
            "description": "Total one time products in an order."
          },
          "recurringProducts": {
            "type": "number",
            "example": "1",
            "description": "Total recurring time products in an order."
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the order."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "sourceType",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_ListOrdersResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "An array of orders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_OrderResponseSchema"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "total orders count"
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "payments_AmountSummary": {
        "type": "object",
        "properties": {
          "subtotal": {
            "type": "number",
            "example": "100",
            "description": "Order sub-total value."
          },
          "discount": {
            "type": "number",
            "example": "10",
            "description": "Discount value on order."
          }
        },
        "required": [
          "subtotal"
        ]
      },
      "payments_OrderSource": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "funnel",
              "website",
              "invoice",
              "calendar",
              "text2Pay",
              "document_contracts",
              "membership",
              "mobile_app",
              "communities",
              "point_of_sale",
              "manual",
              "form",
              "survey",
              "payment_link",
              "external"
            ]
          },
          "subType": {
            "type": "string",
            "enum": [
              "one_step_order_form",
              "two_step_order_form",
              "upsell",
              "tap_to_pay",
              "card_payment",
              "store",
              "contact_view",
              "email_campaign",
              "payments_dashboard",
              "shopify",
              "subscription_view",
              "store_upsell",
              "woocommerce",
              "service",
              "meeting",
              "imported_csv",
              "qr_code",
              "saas_one_time",
              "saas_subscription"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          }
        },
        "required": [
          "type",
          "id"
        ]
      },
      "payments_GetOrderResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the order.",
            "example": "653f5e0cde5a1314e62a837c"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the order."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which order was created."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Order value."
          },
          "status": {
            "type": "string",
            "description": "The status of the order (e.g., completed).",
            "example": "completed"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Order is in live / test mode."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the order.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the order.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "fulfillmentStatus": {
            "type": "string",
            "description": "Fulfillment status of the order.",
            "example": "unfulfilled"
          },
          "contactSnapshot": {
            "type": "object",
            "description": "Contact details of the order.",
            "example": "{ last_name: \"Mcclain\", type: \"lead\", first_name_lower_case: \"rogan\", email: \"contacto@ejemplo.com\", last_name_lower_case: \"mcclain\", location_id: \"o6241QsiRwUIJHyjuhos\", company_name: \"Jordan and Cox Trading\"}"
          },
          "amountSummary": {
            "description": "Amount details of the order.",
            "example": "{ subtotal: 100, discount: 5 }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_AmountSummary"
              }
            ]
          },
          "source": {
            "description": "Source details of the order.",
            "example": "{ type: \"invoice\", id: \"61dd48ff65b013bc39bb09c6\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_OrderSource"
              }
            ]
          },
          "items": {
            "description": "Item details of the order.",
            "example": "{ _id: 61dd33e88058b9f967ca79dc, authorizeAmount: 0, locationId: \"SBAWb4yu7A4LSc0skQ6g\", name: \"Sample Product\": price: {}, product: { name: \"Testing product\", productType: \"SERVICE\" }}",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "coupon": {
            "type": "object",
            "description": "Coupon details of the order.",
            "example": "{ code: \"FEST10\", _id: \"63455e48901b43d4ef364a20\" }"
          },
          "trackingId": {
            "type": "string",
            "description": "Tracking id of the order.",
            "example": "63319ef9-de0a-4c84-aebd-3585fb4a0cdf"
          },
          "fingerprint": {
            "type": "string",
            "description": "Fingerprint id of the order.",
            "example": "5d51db5a-42b0-4b04-ba88-2c046c982a3a"
          },
          "meta": {
            "type": "object",
            "description": "Meta details of the order.",
            "example": "{ couponSessionExpired: true }"
          },
          "markAsTest": {
            "type": "boolean",
            "description": "Is test order.",
            "example": "false"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the order.",
            "example": "d3b16a92-a8ed-4e6b-8467-844750f78ed5"
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Automatic taxes applied for the Order",
            "example": true
          },
          "taxCalculationProvider": {
            "type": "object",
            "description": "Provider name for automatic tax calculation",
            "example": "taxjar"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the order."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_CardDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "visa",
              "mastercard",
              "other"
            ],
            "example": "mastercard"
          },
          "last4": {
            "type": "string",
            "description": "Last 4 digit of the card",
            "example": "1234"
          }
        },
        "required": [
          "type",
          "last4"
        ]
      },
      "payments_ChequeDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "check number",
            "example": "129-129-129-912"
          }
        },
        "required": [
          "number"
        ]
      },
      "payments_PostRecordOrderPaymentBody": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "mode": {
            "type": "string",
            "description": "manual payment method",
            "enum": [
              "cash",
              "card",
              "cheque",
              "bank_transfer",
              "other"
            ],
            "example": "card"
          },
          "card": {
            "description": "Details of Card if used for payment",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_CardDto"
              }
            ]
          },
          "cheque": {
            "description": "Details of the Cheque if used for payment",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ChequeDto"
              }
            ]
          },
          "notes": {
            "type": "string",
            "description": "Any note to be recorded with the transaction",
            "example": "This was a direct payment"
          },
          "amount": {
            "type": "number",
            "description": "Amount to be paid against the invoice.",
            "example": 100
          },
          "meta": {
            "type": "object",
            "description": "Meta data to be recorded with the transaction"
          },
          "isPartialPayment": {
            "type": "boolean",
            "description": "Indicates if the order is intended to be a partial payment."
          }
        },
        "required": [
          "altId",
          "altType",
          "mode"
        ]
      },
      "payments_PostRecordOrderPaymentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the request",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "payments_FulfillmentTracking": {
        "type": "object",
        "properties": {
          "trackingNumber": {
            "type": "string",
            "description": "Tracking number provided by the shipping carrier",
            "example": "40012345678"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping carrier name",
            "example": "FedEx"
          },
          "trackingUrl": {
            "type": "string",
            "description": "Tracking URL",
            "example": "https://www.fedex.com/wtrk/track/?trknbr=40012345678"
          }
        }
      },
      "payments_FulfillmentItems": {
        "type": "object",
        "properties": {
          "priceId": {
            "type": "string",
            "description": "The id of product price",
            "example": "6578278e879ad2646715ba9c"
          },
          "qty": {
            "type": "number",
            "description": "The no of quantity of the item",
            "example": 1
          }
        },
        "required": [
          "priceId",
          "qty"
        ]
      },
      "payments_CreateFulfillmentDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "trackings": {
            "description": "Fulfillment tracking information",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_FulfillmentTracking"
            }
          },
          "items": {
            "description": "Fulfilled items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_FulfillmentItems"
            }
          },
          "notifyCustomer": {
            "type": "boolean",
            "description": "Need to send a notification to customer",
            "example": true
          }
        },
        "required": [
          "altId",
          "altType",
          "trackings",
          "items",
          "notifyCustomer"
        ]
      },
      "payments_ProductVariantOptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the option.",
            "example": "h4z7u0im2q8"
          },
          "name": {
            "type": "string",
            "description": "The name of the option.",
            "example": "XL"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "payments_ProductVariantDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the variant.",
            "example": "38s63qmxfr4"
          },
          "name": {
            "type": "string",
            "description": "The name of the variant.",
            "example": "Size"
          },
          "options": {
            "description": "An array of options for the variant.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_ProductVariantOptionDto"
            }
          }
        },
        "required": [
          "id",
          "name",
          "options"
        ]
      },
      "payments_ProductLabelDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The content for the product label.",
            "example": "Featured"
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-26T05:43:35.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-30T05:43:39.000Z"
          }
        },
        "required": [
          "title"
        ]
      },
      "payments_DefaultProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_MembershipOfferDto": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Membership offer label",
            "example": "top_50"
          },
          "value": {
            "type": "string",
            "description": "Membership offer label",
            "example": "50"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the membership offer.",
            "example": "655b33aa2209e60b6adb87a7"
          }
        },
        "required": [
          "label",
          "value",
          "_id"
        ]
      },
      "payments_RecurringDto": {
        "type": "object",
        "properties": {
          "interval": {
            "type": "string",
            "description": "The interval at which the recurring event occurs.",
            "example": "day",
            "enum": [
              "day",
              "month",
              "week",
              "year"
            ]
          },
          "intervalCount": {
            "type": "number",
            "description": "The number of intervals between each occurrence of the event.",
            "example": 1
          }
        },
        "required": [
          "interval",
          "intervalCount"
        ]
      },
      "payments_DefaultPriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "payments_FulfilledItem": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The id of product price",
            "example": "6578278e879ad2646715ba9c"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Iphone 15 pro"
          },
          "product": {
            "description": "Product details",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_DefaultProductResponseDto"
              }
            ]
          },
          "price": {
            "description": "Price details",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_DefaultPriceResponseDto"
              }
            ]
          },
          "qty": {
            "type": "number",
            "description": "The no of quantity of the current fulfilled item",
            "example": 1
          }
        },
        "required": [
          "_id",
          "name",
          "product",
          "price",
          "qty"
        ]
      },
      "payments_FulfillmentSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "trackings": {
            "description": "Fulfillment tracking information",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_FulfillmentTracking"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the fulfillment item.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "items": {
            "description": "Fulfilled items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_FulfilledItem"
            }
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "trackings",
          "_id",
          "items",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_CreateFulfillmentResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "data": {
            "description": "fulfillment data",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_FulfillmentSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "payments_ListFulfillmentResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "data": {
            "description": "An array of fulfilled items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_FulfillmentSchema"
            }
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "payments_TxnResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the transaction.",
            "example": "61dd0feac077f72010f78804"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the transaction."
          },
          "mergedFromContactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "ID of the contact that was merged from."
          },
          "contactName": {
            "type": "string",
            "example": "James Bond",
            "description": "Contact name corresponding to the transaction."
          },
          "contactEmail": {
            "type": "string",
            "example": "usuario@ejemplo.com",
            "description": "Contact email corresponding to the transaction."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which transaction occurred."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Transaction value."
          },
          "status": {
            "type": "object",
            "description": "The status of the transaction (e.g., succeeded).",
            "example": "succeeded"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Transaction is in live / test mode."
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of transaction (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "61dd0fe9c077f73e67f78803",
            "description": "Entity id for the transaction. e.g: order id"
          },
          "entitySourceType": {
            "type": "string",
            "example": "funnel",
            "description": "Entity source type of transaction (eg: funnel)."
          },
          "entitySourceSubType": {
            "type": "string",
            "example": "two_step_order_form",
            "description": "Entity source sub-type of the transactions."
          },
          "entitySourceName": {
            "type": "string",
            "example": "new funnel",
            "description": "Entity source name for the transaction."
          },
          "entitySourceId": {
            "type": "string",
            "description": "Entity source id for the transaction.",
            "example": "BDBMEghdIUaqMPEsK349"
          },
          "entitySourceMeta": {
            "type": "object",
            "description": "Meta content for the entity source of transaction.",
            "example": "{ domain: \"app.crm.gesvision.com\", pageId:  \"rBVhyYhMsbxbO8ZqOcei\", pageUrl:  \"/v2/preview/rBVhyYhMsbxbO8ZqOcei\", stepId:   \"5a772f62-3fbc-418b-af1b-be8929dd64c2\"}"
          },
          "subscriptionId": {
            "type": "string",
            "example": "sub_1KGcXDCScnf89tZoVkoEMCEL",
            "description": "Subscription id for transaction."
          },
          "chargeId": {
            "type": "string",
            "example": "in_1KGcXDCScnf89tZohCsmImwE",
            "description": "Charge id for transaction."
          },
          "chargeSnapshot": {
            "type": "object",
            "description": "Charge snapshot of transaction.",
            "example": "{ id: \"in_1KGcXDCScnf89tZohCsmImwE\", object: \"invoice\", account_country: \"US\",  account_name:  \"CRM-Testing\" }"
          },
          "paymentProviderType": {
            "type": "string",
            "example": "stripe",
            "description": "Payment provider for transaction."
          },
          "paymentProviderConnectedAccount": {
            "type": "string",
            "example": "612ca676b484b241fef9d962",
            "description": "Payment provider  account id for transaction."
          },
          "ipAddress": {
            "type": "string",
            "example": "107.178.194.224",
            "description": "Ip address from where transaction was initiated."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the transaction.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The update timestamp of the transaction.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "amountRefunded": {
            "type": "number",
            "example": "10",
            "description": "Transaction amount refunded."
          },
          "paymentMethod": {
            "type": "object",
            "example": "{ card: { \"brand\": \"discover\", \"last4\": \"0012\" } }",
            "description": "Transaction payment method details."
          },
          "fulfilledAt": {
            "format": "date-time",
            "type": "string",
            "description": "The charged timestamp of the transaction.",
            "example": "2023-11-20T10:27:36.515Z"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the transaction."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "entitySourceType",
          "createdAt",
          "updatedAt",
          "fulfilledAt"
        ]
      },
      "payments_ListTxnsResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "An array of transactions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_TxnResponseSchema"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "total transactions count"
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "payments_GetTxnResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the transaction.",
            "example": "61dd0feac077f72010f78804"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the transaction."
          },
          "contactSnapshot": {
            "type": "object",
            "description": "Contact details of the transaction.",
            "example": "{ last_name: \"Mcclain\", type: \"lead\", first_name_lower_case: \"rogan\", email: \"contacto@ejemplo.com\", last_name_lower_case: \"mcclain\", location_id: \"o6241QsiRwUIJHyjuhos\", company_name: \"Jordan and Cox Trading\"}"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which transaction was made."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Transaction value."
          },
          "status": {
            "type": "object",
            "example": "succeeded",
            "description": "Transaction status."
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Transaction is in live / test mode."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the transaction.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the transaction.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of transaction (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "61dd0fe9c077f73e67f78803",
            "description": "Entity id for the transaction. e.g: order id"
          },
          "entitySource": {
            "description": "Entity source details for the transaction.",
            "example": "{ type: \"funnel\", id: \"BDBMEghdIUaqMPEsK349\", subType: \"two_step_order_form\", name: \"new funnel\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_OrderSource"
              }
            ]
          },
          "chargeId": {
            "type": "string",
            "example": "in_1KGcXDCScnf89tZohCsmImwE",
            "description": "Charge id for transaction."
          },
          "chargeSnapshot": {
            "type": "object",
            "description": "Charge snapshot of transaction.",
            "example": "{ id: \"in_1KGcXDCScnf89tZohCsmImwE\", object: \"invoice\", account_country: \"US\",  account_name:  \"CRM-Testing\" }"
          },
          "invoiceId": {
            "type": "string",
            "example": "in_1KGcXDCScnf89tZohCsmImwE",
            "description": "Invoice id for the transaction."
          },
          "subscriptionId": {
            "type": "string",
            "example": "sub_1KGcXDCScnf89tZoVkoEMCEL",
            "description": "Subscription id for transaction."
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details of the transaction.",
            "example": "{ type: \"stripe\", connectedAccount: { _id: \"612ca676b484b241fef9d962\", accountId: \"acct_1Ihw53CScnf89tZo\" } }"
          },
          "ipAddress": {
            "type": "string",
            "example": "107.178.194.224",
            "description": "Ip address from where transaction was initiated."
          },
          "meta": {
            "type": "object",
            "description": "Meta details of the transaction.",
            "example": "{ stepId: \"af7c731e-e36f-4152-bd1a-3f69a31d6d6d\", pageId: \"A8ltotc2jZxurJba4e3Y\", pageUrl: \"/v2/preview/A8ltotc2jZxurJba4e3Y\" }"
          },
          "markAsTest": {
            "type": "boolean",
            "description": "Is test transaction.",
            "example": "false"
          },
          "isParent": {
            "type": "boolean",
            "description": "Is parent transaction.",
            "example": "false"
          },
          "amountRefunded": {
            "type": "number",
            "example": "10",
            "description": "Transaction amount refunded."
          },
          "receiptId": {
            "type": "string",
            "example": "6492fbea489bc07892c6defb",
            "description": "Receipt id for transaction."
          },
          "qboSynced": {
            "type": "boolean",
            "description": "Is transaction qbo synced.",
            "example": "false"
          },
          "qboResponse": {
            "type": "object",
            "description": "Qbo details of the transaction.",
            "example": "{ domain: \"QBO\", sparse: false, Id: \"180\", SyncToken: \"0\", TotalAmt: 25 }"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the transaction.",
            "example": "d3b16a92-a8ed-4e6b-8467-844750f78ed5"
          },
          "mergedFromContactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "ID of the contact that was merged from."
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the transaction."
          }
        },
        "required": [
          "_id",
          "altType",
          "altId",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_SubscriptionResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the subscription.",
            "example": "64bf78af39118e4011926cba"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier.",
            "enum": [
              "location"
            ]
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the subscription."
          },
          "contactName": {
            "type": "string",
            "example": "James Bond",
            "description": "Contact name corresponding to the subscription."
          },
          "contactEmail": {
            "type": "string",
            "example": "usuario@ejemplo.com",
            "description": "Contact email corresponding to the subscription."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which subscription occurred."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Subscription value."
          },
          "status": {
            "type": "object",
            "description": "The status of the subscription (e.g., succeeded).",
            "example": "active"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Subscription is in live / test mode."
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of subscription (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "62f4db0f3059ecee61379012",
            "description": "Entity id for the subscription. e.g: order id"
          },
          "entitySourceType": {
            "type": "string",
            "example": "funnel",
            "description": "Entity source type of subscription (eg: funnel)."
          },
          "entitySourceName": {
            "type": "string",
            "example": "Attribution Funnel",
            "description": "Entity source name for the subscription."
          },
          "entitySourceId": {
            "type": "string",
            "description": "Entity source id for the subscription.",
            "example": "bevrkPbLaDNXFaqfLKMm"
          },
          "entitySourceMeta": {
            "type": "object",
            "description": "Meta content for the entity source of subscription.",
            "example": "{ domain: \"app.crm.gesvision.com\", pageId:  \"sxC4lNhFIavEnLZh5KhC\", pageUrl:  \"/v2/preview/sxC4lNhFIavEnLZh5KhC\", stepId: \"7d303d1f-cb85-403d-b548-bf01de5c7bb0\" }"
          },
          "subscriptionId": {
            "type": "string",
            "example": "I-0UE609H8E43P",
            "description": "Subscription id for subscription."
          },
          "subscriptionSnapshot": {
            "type": "object",
            "description": "Snapshot of subscription.",
            "example": "{ status: \"ACTIVE\", status_update_time: \"2022-08-16T11:06:53Z\", id: \"I-0UE609H8E43P\", plan_id: \"P-82K11750F0313430KMLRGE6Y\", start_time: \"2022-08-16T11:05:31Z\", quantity: 1 }"
          },
          "paymentProviderType": {
            "type": "string",
            "example": "stripe",
            "description": "Payment provider for subscription."
          },
          "paymentProviderConnectedAccount": {
            "type": "string",
            "example": "ATn0CqrzrWS5ak185Bsb1xCpyzBDOZ8WdRxyFotppLYePTDhiuQ49H5QXO_L-4HKk1GBn7f9_QhbNK2s",
            "description": "Payment provider connected account id for subscription."
          },
          "ipAddress": {
            "type": "string",
            "example": "103.100.16.82",
            "description": "Ip address from where subscription was initiated."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The update timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the subscription."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "entitySourceType",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_ListSubscriptionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "An array of subscriptions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_SubscriptionResponseSchema"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "total subscriptions count"
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "payments_CustomRRuleOptionsDto": {
        "type": "object",
        "properties": {
          "intervalType": {
            "type": "string",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly",
              "minutely",
              "secondly"
            ],
            "example": "monthly"
          },
          "interval": {
            "type": "number",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "startTime": {
            "type": "string",
            "description": "Start time in HH:mm:ss format",
            "example": "20:45:00"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DD format",
            "example": "2029-11-01"
          },
          "endTime": {
            "type": "string",
            "description": "End time in HH:mm:ss format",
            "example": "18:45:00"
          },
          "dayOfMonth": {
            "type": "number",
            "description": "-1, 1, 2, 3, ..., 27, 28",
            "example": 15
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "mo",
              "tu",
              "we",
              "th",
              "fr",
              "sa",
              "su"
            ],
            "example": "mo"
          },
          "numOfWeek": {
            "type": "number",
            "description": "-1, 1, 2, 3, 4",
            "example": -1
          },
          "monthOfYear": {
            "type": "string",
            "enum": [
              "jan",
              "feb",
              "mar",
              "apr",
              "may",
              "jun",
              "jul",
              "aug",
              "sep",
              "oct",
              "nov",
              "dec"
            ],
            "example": "jan"
          },
          "count": {
            "type": "number",
            "description": "Max number of task executions",
            "example": 10
          },
          "daysBefore": {
            "type": "number",
            "description": "Execute task number of days before",
            "example": 5
          }
        },
        "required": [
          "intervalType",
          "interval",
          "startDate"
        ]
      },
      "payments_ScheduleOptionsDto": {
        "type": "object",
        "properties": {
          "executeAt": {
            "type": "string"
          },
          "rrule": {
            "$ref": "#/components/schemas/payments_CustomRRuleOptionsDto"
          }
        }
      },
      "payments_GetSubscriptionResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the subscription.",
            "example": "64bf78af39118e4011926cba"
          },
          "altType": {
            "type": "object",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the subscription."
          },
          "contactSnapshot": {
            "type": "object",
            "description": "Contact details of the subscriber.",
            "example": "{ last_name: \"Mcclain\", type: \"lead\", first_name_lower_case: \"rogan\", email: \"contacto@ejemplo.com\", last_name_lower_case: \"mcclain\", location_id: \"o6241QsiRwUIJHyjuhos\", company_name: \"Jordan and Cox Trading\"}"
          },
          "coupon": {
            "type": "object",
            "description": "Coupon details of the subscription.",
            "example": "{ _id: \"6374c6926d119a393fe1e556\", usageCount: 5260, altId: \"jVFIxsMY19D94nOSIOEO\", altType: \"location\", name: \"FREE-100%\", code: \"FREE100\", discountType: \"percentage\", discountValue: 100 }"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which subscription was made."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Subscription value."
          },
          "status": {
            "type": "object",
            "example": "active",
            "description": "Subscription status."
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Subscription is in live / test mode."
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of subscription (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "62f4db0f3059ecee61379012",
            "description": "Entity id for the subscription. e.g: order id"
          },
          "entitySource": {
            "description": "Entity source details for the subscription.",
            "example": "{ type: \"funnel\", id: \"lx6ROqruHGVQD2PZwFxK\", subType: \"upsell\", name: \"test funnel\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_OrderSource"
              }
            ]
          },
          "subscriptionId": {
            "type": "string",
            "example": "I-0UE609H8E43P",
            "description": "Subscription id for subscription."
          },
          "subscriptionSnapshot": {
            "type": "object",
            "description": "Snapshot of subscription.",
            "example": "{ status: \"ACTIVE\", status_update_time: \"2022-08-16T11:06:53Z\", id: \"I-0UE609H8E43P\", plan_id: \"P-82K11750F0313430KMLRGE6Y\", start_time: \"2022-08-16T11:05:31Z\", quantity: 1 }"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details for the subscription.",
            "example": "{ type: \"paypal\", connectedAccount: { _id: \"64410debdc8f3b0503523abb\", merchantClientId: \"AeXtjrxdgsJiCPwQt5jML5pH-0mwmLs-tH7ub4Uo3IrDKvRl34FvJy8niI6E1wmS_pryIRdNllyVl58b\" } }"
          },
          "ipAddress": {
            "type": "string",
            "example": "103.100.16.82",
            "description": "Ip address from where subscription was initiated."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the subscription.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "meta": {
            "type": "object",
            "description": "Meta details of the subscription.",
            "example": "{ collection: \"transactionsv2\", id: \"6320652f0f664b6632006920\" }"
          },
          "markAsTest": {
            "type": "boolean",
            "description": "Is test subscription.",
            "example": "false"
          },
          "schedule": {
            "description": "Scedule details for the subscription.",
            "example": "{ collection: \"transactionsv2\", id: \"6320652f0f664b6632006920\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ScheduleOptionsDto"
              }
            ]
          },
          "autoPayment": {
            "type": "object",
            "description": "Auto payment details of the subscription.",
            "example": "{ customerId: \"908879612\", paymentMethodId: \"908646635\" }"
          },
          "recurringProduct": {
            "type": "object",
            "description": "Recurring product details of the subscription.",
            "example": "{ locationId: \"Z4Bxl8J4SaPEPLq9IQ8g\", funnel: \"bQHJWKcyjiKjk4BHv91g\", step: \"2281a993-8a75-4b48-9912-571f29c99a74\", name: \"Sofa Set\" }"
          },
          "canceledAt": {
            "format": "date-time",
            "type": "string",
            "description": "Cancellation timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "canceledBy": {
            "type": "string",
            "example": "qUuXUiB2AiA2DIthEicP",
            "description": "User id who cancelled the subscription."
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the subscription.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the subscription."
          }
        },
        "required": [
          "_id",
          "altType",
          "altId",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_ApplyToFuturePaymentsConfigDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of future payments configuration",
            "example": "fixed",
            "enum": [
              "forever",
              "fixed"
            ]
          },
          "duration": {
            "type": "number",
            "description": "Duration value for fixed type configurations",
            "example": 3
          },
          "durationType": {
            "type": "string",
            "description": "Duration type for fixed configurations (e.g. months)",
            "example": "months"
          }
        },
        "required": [
          "type"
        ]
      },
      "payments_CouponDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique MongoDB identifier for the coupon",
            "example": "67f6c132d9485f9dacd5f123"
          },
          "usageCount": {
            "type": "number",
            "description": "Number of times the coupon has been used",
            "example": 12
          },
          "limitPerCustomer": {
            "type": "number",
            "description": "Maximum number of times a customer can use this coupon (0 for unlimited)",
            "example": 5
          },
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "79t07PzK8Tvf73d12312"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity",
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Display name of the coupon",
            "example": "NEWT6"
          },
          "code": {
            "type": "string",
            "description": "Redemption code for the coupon",
            "example": "NEWT6"
          },
          "discountType": {
            "type": "string",
            "description": "Type of discount (percentage or amount)",
            "example": "percentage",
            "enum": [
              "percentage",
              "amount"
            ]
          },
          "discountValue": {
            "type": "number",
            "description": "Value of the discount (percentage or fixed amount)",
            "example": 25
          },
          "status": {
            "type": "string",
            "description": "Current status of the coupon",
            "example": "scheduled",
            "enum": [
              "scheduled",
              "active",
              "expired"
            ]
          },
          "startDate": {
            "type": "string",
            "description": "Date when the coupon becomes active",
            "example": "2025-04-30T18:30:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date when the coupon expires",
            "example": "2025-05-30T18:30:00.000Z"
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "description": "Indicates if the coupon applies to future recurring payments",
            "example": true
          },
          "applyToFuturePaymentsConfig": {
            "description": "Configuration for how the coupon applies to future payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ApplyToFuturePaymentsConfigDto"
              }
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the coupon (if applicable)",
            "example": "q0m15dTLGeiGOXG123123"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          }
        },
        "required": [
          "_id",
          "usageCount",
          "limitPerCustomer",
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "status",
          "startDate",
          "applyToFuturePayments",
          "applyToFuturePaymentsConfig",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_ListCouponsResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of coupon objects",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_CouponDto"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of coupons matching the query criteria",
            "example": 20
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing this API request",
            "example": "c667b18d-8f5e-44cf-a914"
          }
        },
        "required": [
          "data",
          "totalCount",
          "traceId"
        ]
      },
      "payments_ApplyToFuturePaymentsConfig": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of the config",
            "example": "forever | fixed",
            "enum": [
              "forever",
              "fixed"
            ]
          },
          "duration": {
            "type": "number",
            "description": "Duration the coupon to be applied in a subscription",
            "example": 5
          },
          "durationType": {
            "type": "string",
            "description": "Type of the duration",
            "example": "months",
            "enum": [
              "months"
            ]
          }
        },
        "required": [
          "type",
          "duration",
          "durationType"
        ]
      },
      "payments_CreateCouponParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "BQdAwxa0ky1iK2sstLGJ"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Coupon Name",
            "example": "New Year Sale"
          },
          "code": {
            "type": "string",
            "description": "Coupon Code",
            "example": "LEVELUPDAY2022"
          },
          "discountType": {
            "type": "string",
            "description": "Discount Type",
            "enum": [
              "percentage",
              "amount"
            ],
            "example": "amount"
          },
          "discountValue": {
            "type": "number",
            "description": "Discount Value",
            "example": 10
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-01T22:45:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-31T22:45:00.000Z"
          },
          "usageLimit": {
            "type": "number",
            "description": "Max number of times coupon can be used",
            "example": 10
          },
          "productIds": {
            "description": "Product Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Is Coupon applicable on upcoming subscription transactions"
          },
          "applyToFuturePaymentsConfig": {
            "example": [
              {
                "type": "fixed",
                "duration": 5,
                "durationType": "months"
              },
              {
                "type": "forever"
              }
            ],
            "default": {
              "type": "forever"
            },
            "description": "If coupon is applicable on upcoming subscription transactions, how many months should it be applicable for a subscription",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ApplyToFuturePaymentsConfig"
              }
            ]
          },
          "limitPerCustomer": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Limits whether a coupon can be redeemed only once per customer."
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "startDate"
        ]
      },
      "payments_CreateCouponResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique MongoDB identifier for the coupon",
            "example": "67f6c132d9485f9dacd5f123"
          },
          "usageCount": {
            "type": "number",
            "description": "Number of times the coupon has been used",
            "example": 12
          },
          "limitPerCustomer": {
            "type": "number",
            "description": "Maximum number of times a customer can use this coupon (0 for unlimited)",
            "example": 5
          },
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "79t07PzK8Tvf73d12312"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity",
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Display name of the coupon",
            "example": "NEWT6"
          },
          "code": {
            "type": "string",
            "description": "Redemption code for the coupon",
            "example": "NEWT6"
          },
          "discountType": {
            "type": "string",
            "description": "Type of discount (percentage or amount)",
            "example": "percentage",
            "enum": [
              "percentage",
              "amount"
            ]
          },
          "discountValue": {
            "type": "number",
            "description": "Value of the discount (percentage or fixed amount)",
            "example": 25
          },
          "status": {
            "type": "string",
            "description": "Current status of the coupon",
            "example": "scheduled",
            "enum": [
              "scheduled",
              "active",
              "expired"
            ]
          },
          "startDate": {
            "type": "string",
            "description": "Date when the coupon becomes active",
            "example": "2025-04-30T18:30:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date when the coupon expires",
            "example": "2025-05-30T18:30:00.000Z"
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "description": "Indicates if the coupon applies to future recurring payments",
            "example": true
          },
          "applyToFuturePaymentsConfig": {
            "description": "Configuration for how the coupon applies to future payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ApplyToFuturePaymentsConfigDto"
              }
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the coupon (if applicable)",
            "example": "q0m15dTLGeiGOXG123123"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing this API request",
            "example": "c667b18d-8f5e-44cf-a914"
          }
        },
        "required": [
          "_id",
          "usageCount",
          "limitPerCustomer",
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "status",
          "startDate",
          "applyToFuturePayments",
          "applyToFuturePaymentsConfig",
          "createdAt",
          "updatedAt",
          "traceId"
        ]
      },
      "payments_UpdateCouponParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "BQdAwxa0ky1iK2sstLGJ"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Coupon Name",
            "example": "New Year Sale"
          },
          "code": {
            "type": "string",
            "description": "Coupon Code",
            "example": "LEVELUPDAY2022"
          },
          "discountType": {
            "type": "string",
            "description": "Discount Type",
            "enum": [
              "percentage",
              "amount"
            ],
            "example": "amount"
          },
          "discountValue": {
            "type": "number",
            "description": "Discount Value",
            "example": 10
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-01T22:45:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-31T22:45:00.000Z"
          },
          "usageLimit": {
            "type": "number",
            "description": "Max number of times coupon can be used",
            "example": 10
          },
          "productIds": {
            "description": "Product Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Is Coupon applicable on upcoming subscription transactions"
          },
          "applyToFuturePaymentsConfig": {
            "example": [
              {
                "type": "fixed",
                "duration": 5,
                "durationType": "months"
              },
              {
                "type": "forever"
              }
            ],
            "default": {
              "type": "forever"
            },
            "description": "If coupon is applicable on upcoming subscription transactions, how many months should it be applicable for a subscription",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_ApplyToFuturePaymentsConfig"
              }
            ]
          },
          "limitPerCustomer": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Limits whether a coupon can be redeemed only once per customer."
          },
          "id": {
            "type": "string",
            "description": "Coupon Id",
            "example": "6241712be68f7a98102ba272"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "startDate",
          "id"
        ]
      },
      "payments_DeleteCouponParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "BQdAwxa0ky1iK2sstLGJ"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "id": {
            "type": "string",
            "description": "Coupon Id",
            "example": "6241712be68f7a98102ba272"
          }
        },
        "required": [
          "altId",
          "altType",
          "id"
        ]
      },
      "payments_DeleteCouponResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates whether the delete was successful",
            "example": true
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing this API request",
            "example": "c667b18d-8f5e-44cf-a914"
          }
        },
        "required": [
          "success",
          "traceId"
        ]
      },
      "payments_CreateCustomProvidersDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "supportsSubscriptionSchedule": {
            "type": "boolean",
            "description": "Whether the config supports subscription schedule or not. true represents config supports subscription schedule",
            "example": true
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "supportsSubscriptionSchedule"
        ]
      },
      "payments_CreateCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the custom provider.",
            "example": "662a44ad19a2a44d3cd9d749"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "Lk3nlfk4lxlelVEwcW"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The application id of marketplace",
            "example": "65f0b217a05c774da7f1efa5"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details.",
            "example": "{ live: { liveMode: true }, test: { liveMode: false, apiKey: \"y5ZQxryRFXZHvUJZdLXXXXXX\", publishableKey: \"rzp_test_zPRoVMLOa0A9wo\" }}"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the config is deleted or not. true represents config is deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the custom provider.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the custom provider.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the custom provider.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "_id",
          "locationId",
          "marketplaceAppId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_DeleteCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the custom provider config is disconnect or not. true represents config is disconnect",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "payments_GetCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the custom provider.",
            "example": "662a44ad19a2a44d3cd9d749"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "Lk3nlfk4lxlelVEwcW"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The application id of marketplace",
            "example": "65f0b217a05c774da7f1efa5"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details.",
            "example": "{ live: { liveMode: true }, test: { liveMode: false, apiKey: \"y5ZQxryRFXZHvUJZdLXXXXXX\", publishableKey: \"rzp_test_zPRoVMLOa0A9wo\" }}"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the config is deleted or not. true represents config is deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the custom provider.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the custom provider.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the custom provider.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "_id",
          "locationId",
          "marketplaceAppId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_CustomProviderKeys": {
        "type": "object",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "Api-key for custom payment provider config",
            "example": "y5ZQxryRFXZHvUJZdLeXXXXX"
          },
          "publishableKey": {
            "type": "string",
            "description": "Publishable-key for custom payment provider config",
            "example": "rzp_test_zPRoVMLOa0XXXX"
          }
        },
        "required": [
          "apiKey",
          "publishableKey"
        ]
      },
      "payments_ConnectCustomProvidersConfigDto": {
        "type": "object",
        "properties": {
          "live": {
            "description": "Live config containing api-key and publishable key for live payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_CustomProviderKeys"
              }
            ]
          },
          "test": {
            "description": "Test config containing api-key and publishable-key for test payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_CustomProviderKeys"
              }
            ]
          }
        },
        "required": [
          "live",
          "test"
        ]
      },
      "payments_ConnectCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the custom provider.",
            "example": "662a44ad19a2a44d3cd9d749"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "Lk3nlfk4lxlelVEwcW"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The application id of marketplace",
            "example": "65f0b217a05c774da7f1efa5"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details.",
            "example": "{ live: { liveMode: true }, test: { liveMode: false, apiKey: \"y5ZQxryRFXZHvUJZdLXXXXXX\", publishableKey: \"rzp_test_zPRoVMLOa0A9wo\" }}"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the config is deleted or not. true represents config is deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the custom provider.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the custom provider.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the custom provider.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "_id",
          "locationId",
          "marketplaceAppId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_DeleteCustomProvidersConfigDto": {
        "type": "object",
        "properties": {
          "liveMode": {
            "type": "boolean",
            "description": "Whether the config is for test mode or live mode. true represents config is for live payments",
            "example": "true"
          }
        },
        "required": [
          "liveMode"
        ]
      },
      "payments_DisconnectCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the custom provider config is disconnect or not. true represents config is disconnect",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "payments_UpdateCustomProviderCapabilitiesDto": {
        "type": "object",
        "properties": {
          "supportsSubscriptionSchedules": {
            "type": "boolean",
            "description": "Whether the marketplace app supports subscription schedules or not",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company id. Mandatory if locationId is not provided",
            "example": "Yjnwuduw83e8x30sm0"
          },
          "locationId": {
            "type": "string",
            "description": "Location / Sub-account id. Mandatory if companyId is not provided",
            "example": "Yjnwuduw83e8x30sm0"
          }
        },
        "required": [
          "supportsSubscriptionSchedules"
        ]
      },
      "payments_UpdateCustomProviderCapabilitiesResponseSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the custom provider capabilities are updated or not. true represents capabilities are updated",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "phone_system_AvailableNumbersResponseDto": {
        "type": "object",
        "properties": {
          "fingerprintId": {
            "type": "string",
            "description": "Unique fingerprint ID for this search result, required when purchasing one of the returned numbers",
            "example": "1773314252953"
          },
          "numbers": {
            "type": "array",
            "description": "List of available phone numbers matching the search criteria",
            "items": {
              "$ref": "#/components/schemas/phone_system_AvailablePhoneNumberDto"
            }
          }
        },
        "required": [
          "fingerprintId",
          "numbers"
        ]
      },
      "phone_system_AvailablePhoneNumberDto": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "E.164 formatted phone number",
            "example": "+18705871861"
          },
          "friendlyName": {
            "type": "string",
            "description": "Human-readable formatted phone number",
            "example": "(870) 587-1861"
          },
          "isoCountry": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code",
            "example": "US"
          },
          "lata": {
            "type": "string",
            "description": "Local Access and Transport Area code",
            "example": "528",
            "nullable": true
          },
          "locality": {
            "type": "string",
            "description": "City or locality of the number",
            "example": "Wynne",
            "nullable": true
          },
          "rateCenter": {
            "type": "string",
            "description": "Rate center of the number",
            "example": "WYNNE",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Latitude coordinate of the number's location",
            "example": "35.241800",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Longitude coordinate of the number's location",
            "example": "-90.846000",
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "State or region abbreviation",
            "example": "AR",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the number",
            "example": "72396",
            "nullable": true
          },
          "addressRequirements": {
            "type": "string",
            "description": "Address requirements for purchasing this number",
            "example": "none",
            "enum": [
              "none",
              "any",
              "local",
              "foreign"
            ]
          },
          "beta": {
            "type": "boolean",
            "description": "Whether this is a beta number",
            "example": false
          },
          "capabilities": {
            "type": "object",
            "description": "Communication capabilities supported by this number",
            "properties": {
              "MMS": {
                "type": "boolean",
                "example": true
              },
              "SMS": {
                "type": "boolean",
                "example": true
              },
              "voice": {
                "type": "boolean",
                "example": true
              }
            }
          },
          "price": {
            "type": "object",
            "description": "Pricing information for this number",
            "properties": {
              "number_type": {
                "type": "string",
                "description": "Type of number for billing purposes",
                "example": "local"
              },
              "price": {
                "type": "number",
                "description": "Monthly price for this number",
                "example": 1.15
              },
              "price_unit": {
                "type": "string",
                "description": "Currency unit for the price",
                "example": "USD"
              }
            }
          }
        },
        "required": [
          "phoneNumber",
          "friendlyName",
          "isoCountry",
          "addressRequirements",
          "beta",
          "capabilities"
        ]
      },
      "phone_system_TwilioAccountResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the Twilio account record",
            "example": "8xMPW85D2z5jgcTa5L1p"
          },
          "account_sid": {
            "type": "string",
            "description": "Twilio Account SID",
            "example": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "under_crm_account": {
            "type": "boolean",
            "description": "Whether this location is under a CRM-managed Twilio account",
            "example": true
          },
          "validate_sms": {
            "type": "boolean",
            "description": "Whether SMS validation is enabled",
            "example": true
          },
          "location_id": {
            "type": "string",
            "description": "The location ID this Twilio account belongs to",
            "example": "aa4PBpxnPc9bs4LSdiW7"
          },
          "migration_status": {
            "type": "string",
            "description": "Current migration status of the account",
            "example": "completed",
            "nullable": true
          },
          "migration_numbers": {
            "type": "array",
            "description": "List of numbers being migrated",
            "items": {
              "type": "string"
            },
            "example": []
          },
          "assigned_to_numbers": {
            "type": "object",
            "description": "Map of phone numbers to assigned user IDs",
            "additionalProperties": {
              "type": "string"
            },
            "example": {}
          },
          "numbers": {
            "type": "object",
            "description": "Map of phone numbers to their service type (e.g. 'conversation')",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "+18705871861": "conversation"
            }
          },
          "number_name": {
            "type": "object",
            "description": "Map of phone numbers to their friendly names",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "+18705871861": "My Number"
            }
          },
          "new_account_sid": {
            "type": "string",
            "description": "New account SID if the account has been migrated to new credentials",
            "example": "",
            "nullable": true
          }
        },
        "required": [
          "id",
          "account_sid",
          "under_crm_account",
          "validate_sms",
          "location_id",
          "numbers"
        ]
      },
      "phone_system_PurchasePhoneNumberBodyDto": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "The phone number to purchase",
            "example": "+18305551234"
          },
          "countryCode": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the number",
            "example": "US"
          },
          "numberType": {
            "type": "string",
            "description": "Type of phone number",
            "example": "local",
            "enum": [
              "local",
              "tollFree",
              "mobile"
            ]
          },
          "addressSid": {
            "type": "string",
            "description": "Twilio address SID for compliance",
            "example": "AD1234567890abcdef1234567890abcde",
            "nullable": true
          },
          "bundleSid": {
            "type": "string",
            "description": "Twilio bundle SID for regulatory compliance",
            "example": "BU1234567890abcdef1234567890abcde",
            "nullable": true
          },
          "locality": {
            "type": "string",
            "description": "Locality where the number is being purchased",
            "example": "San Antonio",
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "Region where the number is being purchased",
            "example": "TX",
            "nullable": true
          },
          "fingerprintId": {
            "type": "string",
            "description": "Unique request ID for idempotency (fingerprint of the purchase request)",
            "example": "fp_abc123def456",
            "nullable": true
          },
          "skipLocationKYC": {
            "type": "boolean",
            "description": "Skip location-level KYC verification if agency-level compliance has already been verified",
            "example": false,
            "nullable": true
          }
        },
        "required": [
          "phoneNumber"
        ]
      },
      "phone_system_DetailedPhoneNumberDto": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "E.164 formatted phone number",
            "example": "+14155552671"
          },
          "friendlyName": {
            "type": "string",
            "description": "Human-readable name assigned to the number",
            "example": "Sales Line 1",
            "nullable": true
          },
          "sid": {
            "type": "string",
            "description": "Phone number SID (unique identifier)",
            "example": "PN1234567890abcdef1234567890abcde"
          },
          "countryCode": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code",
            "example": "US"
          },
          "capabilities": {
            "type": "object",
            "description": "Communication capabilities supported by this number",
            "properties": {
              "voice": {
                "type": "boolean",
                "description": "Whether the number supports voice calls",
                "example": true
              },
              "sms": {
                "type": "boolean",
                "description": "Whether the number supports SMS messaging",
                "example": true
              },
              "mms": {
                "type": "boolean",
                "description": "Whether the number supports MMS messaging",
                "example": true
              },
              "fax": {
                "type": "boolean",
                "description": "Whether the number supports fax transmission",
                "example": false
              }
            }
          },
          "type": {
            "type": "string",
            "description": "Type of phone number (local, toll-free, mobile, etc.)",
            "example": "local",
            "enum": [
              "local",
              "toll-free",
              "mobile",
              "national"
            ]
          },
          "isDefaultNumber": {
            "type": "boolean",
            "description": "Whether this is the default outbound number for the location",
            "example": false
          },
          "linkedUser": {
            "type": "string",
            "description": "User ID of the user assigned to this number",
            "example": "user_123456789",
            "nullable": true
          },
          "linkedRingAllUsers": {
            "type": "array",
            "description": "Array of user IDs that should ring when this number is called",
            "items": {
              "type": "string"
            },
            "example": [
              "user_123",
              "user_456"
            ]
          },
          "inboundCallService": {
            "type": "object",
            "description": "Configuration for inbound call handling service",
            "nullable": true,
            "properties": {
              "type": {
                "type": "string",
                "description": "Type of inbound call service",
                "example": "voice_ai",
                "enum": [
                  "voice_ai",
                  "ivr",
                  "forward"
                ]
              },
              "value": {
                "type": "string",
                "description": "Service configuration value or ID",
                "example": "68e381b296a83800a27cd1"
              }
            }
          },
          "forwardingNumber": {
            "type": "string",
            "description": "Phone number to forward calls to",
            "example": "+14155552672",
            "nullable": true
          },
          "isGroupConversationEnabled": {
            "type": "boolean",
            "description": "Whether group conversations are enabled for this number (US/CA numbers with SMS/MMS only)",
            "example": true
          },
          "addressSid": {
            "type": "string",
            "description": "Address SID for compliance purposes",
            "example": "AD1234567890abcdef1234567890abcde",
            "nullable": true
          },
          "bundleSid": {
            "type": "string",
            "description": "Bundle SID for regulatory compliance",
            "example": "BU1234567890abcdef1234567890abcde",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "description": "When the number was originally purchased/added",
            "example": "2023-01-15T10:30:00Z"
          },
          "dateUpdated": {
            "type": "string",
            "format": "date-time",
            "description": "When the number configuration was last updated",
            "example": "2023-02-20T14:45:00Z"
          },
          "origin": {
            "type": "string",
            "description": "Source or origin of the phone number",
            "example": "twilio",
            "enum": [
              "twilio",
              "hosted",
              "ported"
            ]
          }
        },
        "required": [
          "phoneNumber",
          "sid",
          "countryCode",
          "capabilities",
          "type",
          "isDefaultNumber",
          "linkedRingAllUsers",
          "isGroupConversationEnabled"
        ]
      },
      "phone_system_NumberPoolDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Unique identifier for the number pool"
          },
          "name": {
            "type": "string",
            "example": "Sales Team Pool",
            "description": "Human-readable name of the number pool"
          },
          "locationId": {
            "type": "string",
            "example": "loc123",
            "description": "Location ID this pool belongs to"
          },
          "numbers": {
            "type": "array",
            "description": "Phone numbers in this pool",
            "items": {
              "type": "object",
              "properties": {
                "phoneNumber": {
                  "type": "string",
                  "example": "+14155552671",
                  "description": "E.164 formatted phone number"
                },
                "friendlyName": {
                  "type": "string",
                  "example": "Sales Line 1",
                  "description": "Human-readable name for the number"
                }
              }
            }
          },
          "forwardingNumber": {
            "type": "string",
            "example": "+14155552671",
            "description": "Number to forward calls to"
          },
          "whisper": {
            "type": "boolean",
            "example": true,
            "description": "Whether whisper is enabled"
          },
          "whisperMessage": {
            "type": "string",
            "example": "Incoming call from sales line",
            "description": "Message played during whisper"
          },
          "callRecording": {
            "type": "boolean",
            "example": true,
            "description": "Whether call recording is enabled"
          },
          "isActive": {
            "type": "boolean",
            "example": true,
            "description": "Whether the number pool is active"
          },
          "inboundCallService": {
            "type": "object",
            "description": "Inbound call service configuration",
            "nullable": true,
            "properties": {
              "type": {
                "type": "string",
                "example": "voice_ai",
                "description": "Type of inbound call service"
              },
              "value": {
                "type": "string",
                "example": "68e381b296a83800a27cd1",
                "description": "Service configuration value/ID"
              }
            }
          }
        }
      },
      "products_BulkUpdateFilters": {
        "type": "object",
        "properties": {
          "collectionIds": {
            "description": "Filter by collection IDs",
            "example": [
              "5f8d0d55b54764421b7156c1",
              "5f8d0d55b54764421b7156c2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "productType": {
            "type": "string",
            "description": "Filter by product type",
            "example": "one-time"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Filter by availability status",
            "example": true
          },
          "search": {
            "type": "string",
            "description": "Filter by search term",
            "example": "blue t-shirt"
          }
        }
      },
      "products_PriceUpdateField": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "INCREASE_BY_AMOUNT",
              "REDUCE_BY_AMOUNT",
              "SET_NEW_PRICE",
              "INCREASE_BY_PERCENTAGE",
              "REDUCE_BY_PERCENTAGE"
            ],
            "description": "Type of price update",
            "example": "INCREASE_BY_AMOUNT"
          },
          "value": {
            "type": "number",
            "example": 100,
            "description": "Value to update (amount or percentage based on type)"
          },
          "roundToWhole": {
            "type": "boolean",
            "description": "Round to nearest whole number",
            "example": true
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "products_BulkUpdateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "bulk-update-price",
              "bulk-update-availability",
              "bulk-update-product-collection",
              "bulk-delete-products",
              "bulk-update-currency"
            ],
            "description": "Type of bulk update operation",
            "example": "bulk-update-price"
          },
          "productIds": {
            "example": [
              "5f8d0d55b54764421b7156c1"
            ],
            "description": "Array of product IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filters": {
            "description": "Filters to apply when selectAll is true",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_BulkUpdateFilters"
              }
            ]
          },
          "price": {
            "description": "Price update configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_PriceUpdateField"
              }
            ]
          },
          "compareAtPrice": {
            "description": "Compare at price update configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_PriceUpdateField"
              }
            ]
          },
          "availability": {
            "type": "boolean",
            "description": "New availability status"
          },
          "collectionIds": {
            "description": "Array of collection IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          }
        },
        "required": [
          "altId",
          "altType",
          "type",
          "productIds"
        ]
      },
      "products_BulkUpdateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_WeightOptionsDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Actual weight of the product",
            "example": 10
          },
          "unit": {
            "type": "string",
            "description": "Weight unit of the product",
            "example": "kg",
            "enum": [
              "kg",
              "lb",
              "g",
              "oz"
            ]
          }
        },
        "required": [
          "value",
          "unit"
        ]
      },
      "products_PriceDimensionsDto": {
        "type": "object",
        "properties": {
          "height": {
            "type": "number",
            "description": "Height of the price",
            "example": 10
          },
          "width": {
            "type": "number",
            "description": "Width of the price",
            "example": 10
          },
          "length": {
            "type": "number",
            "description": "Length of the price",
            "example": 10
          },
          "unit": {
            "type": "string",
            "description": "Unit of the price dimensions",
            "example": "cm",
            "enum": [
              "cm",
              "in",
              "m"
            ]
          }
        },
        "required": [
          "height",
          "width",
          "length",
          "unit"
        ]
      },
      "products_ShippingOptionsDto": {
        "type": "object",
        "properties": {
          "weight": {
            "description": "Weight options of the product",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_WeightOptionsDto"
              }
            ]
          },
          "dimensions": {
            "description": "Dimensions of the product",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_PriceDimensionsDto"
              }
            ]
          }
        }
      },
      "products_RecurringDto": {
        "type": "object",
        "properties": {
          "interval": {
            "type": "string",
            "description": "The interval at which the recurring event occurs.",
            "example": "day",
            "enum": [
              "day",
              "month",
              "week",
              "year"
            ]
          },
          "intervalCount": {
            "type": "number",
            "description": "The number of intervals between each occurrence of the event.",
            "example": 1
          }
        },
        "required": [
          "interval",
          "intervalCount"
        ]
      },
      "products_BulkEditPriceDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Price ID",
            "example": "64a1b2c3d4e5f67890123456"
          },
          "name": {
            "type": "string",
            "description": "Price name",
            "example": "Standard Plan"
          },
          "amount": {
            "type": "number",
            "description": "Price amount",
            "example": 99.99
          },
          "currency": {
            "type": "string",
            "description": "Price currency",
            "example": "USD"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "Compare at price",
            "example": 129.99
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available quantity",
            "example": 100
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Track inventory",
            "example": true
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Allow out of stock purchases",
            "example": false
          },
          "sku": {
            "type": "string",
            "description": "SKU",
            "example": "SKU-001"
          },
          "trialPeriod": {
            "type": "number",
            "description": "Trial period in days",
            "example": 7
          },
          "totalCycles": {
            "type": "number",
            "description": "Total billing cycles",
            "example": 12
          },
          "setupFee": {
            "type": "number",
            "description": "Setup fee",
            "example": 25
          },
          "shippingOptions": {
            "description": "Shipping options",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ShippingOptionsDto"
              }
            ]
          },
          "recurring": {
            "description": "Recurring details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          }
        },
        "required": [
          "_id"
        ]
      },
      "products_ProductSEODto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "SEO title",
            "example": "Best Product - Buy Now"
          },
          "description": {
            "type": "string",
            "description": "SEO description",
            "example": "This is the best product you can buy online with amazing features and great value"
          }
        }
      },
      "products_BulkEditProductDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Product ID",
            "example": "64a1b2c3d4e5f67890123456"
          },
          "name": {
            "type": "string",
            "description": "Product name",
            "example": "Premium Product"
          },
          "description": {
            "type": "string",
            "description": "Product description",
            "example": "A high-quality premium product with excellent features and durability"
          },
          "image": {
            "type": "string",
            "description": "Product image",
            "example": "https://example.com/product-image.jpg"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Product availability in store",
            "example": true
          },
          "prices": {
            "description": "Array of price variants for the product",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_BulkEditPriceDto"
            }
          },
          "collectionIds": {
            "description": "Collection IDs",
            "example": [
              "64a1b2c3d4e5f67890123458",
              "64a1b2c3d4e5f67890123459"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isLabelEnabled": {
            "type": "boolean",
            "description": "Enable product label",
            "example": true
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "Enable taxes",
            "example": true
          },
          "seo": {
            "description": "SEO metadata for the product",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductSEODto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "Product URL slug",
            "example": "premium-product"
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Automatic tax category ID",
            "example": "64a1b2c3d4e5f67890123460"
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "Tax inclusive pricing",
            "example": false
          },
          "taxes": {
            "description": "Product taxes",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "medias": {
            "description": "Product media",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "label": {
            "type": "object",
            "description": "Product label"
          }
        },
        "required": [
          "_id"
        ]
      },
      "products_BulkEditRequestDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "products": {
            "description": "Array of products to update. Note: The total count includes all prices within each product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_BulkEditProductDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "products"
        ]
      },
      "products_BulkEditResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Products updated successfully",
            "description": "Success message"
          },
          "status": {
            "type": "boolean",
            "example": true,
            "description": "Operation status"
          },
          "updatedCount": {
            "type": "number",
            "example": 5,
            "description": "Number of products updated"
          }
        },
        "required": [
          "message",
          "status",
          "updatedCount"
        ]
      },
      "products_MembershipOfferDto": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Membership offer label",
            "example": "top_50"
          },
          "value": {
            "type": "string",
            "description": "Membership offer label",
            "example": "50"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the membership offer.",
            "example": "655b33aa2209e60b6adb87a7"
          }
        },
        "required": [
          "label",
          "value",
          "_id"
        ]
      },
      "products_PriceMetaDto": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "description": "The source of the price.",
            "enum": [
              "stripe",
              "woocommerce",
              "shopify"
            ],
            "example": "stripe"
          },
          "sourceId": {
            "type": "string",
            "description": "The id of the source of the price from where it is imported",
            "example": "123"
          },
          "stripePriceId": {
            "type": "string",
            "description": "The Stripe price ID associated with the price.",
            "example": "price_123"
          },
          "internalSource": {
            "type": "string",
            "description": "The internal source of the price.",
            "enum": [
              "agency_plan",
              "funnel",
              "membership",
              "communities",
              "gokollab",
              "calendar"
            ],
            "example": "agency_plan"
          }
        },
        "required": [
          "source",
          "stripePriceId",
          "internalSource"
        ]
      },
      "products_CreatePriceDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Price Name"
          },
          "type": {
            "type": "string",
            "description": "The type of the price.",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency of the price.",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price. ( min: 0 )",
            "example": 99.99
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "A brief description of the price."
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_MembershipOfferDto"
            }
          },
          "trialPeriod": {
            "type": "number",
            "description": "The trial period duration in days (if applicable).",
            "example": 7
          },
          "totalCycles": {
            "type": "number",
            "description": "The total number of billing cycles for the price. ( min: 1 )",
            "example": 12
          },
          "setupFee": {
            "type": "number",
            "description": "The setup fee for the price.",
            "example": 10.99
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "option_id_1",
              "option_id_2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare at price for the price.",
            "example": 19.99
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier of the location associated with the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier of the user who created the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "meta": {
            "description": "Additional metadata associated with the price.",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_PriceMetaDto"
              }
            ]
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Need to track inventory stock quantity",
            "example": true
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          },
          "sku": {
            "type": "string",
            "description": "The unique identifier of the SKU associated with the price",
            "example": "sku_123"
          },
          "shippingOptions": {
            "description": "Shipping options of the Price",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ShippingOptionsDto"
              }
            ]
          },
          "isDigitalProduct": {
            "type": "boolean",
            "description": "Is the product a digital product",
            "example": true
          },
          "digitalDelivery": {
            "description": "Digital delivery options",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "type",
          "currency",
          "amount",
          "locationId"
        ]
      },
      "products_CreatePriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_DefaultPriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_ListPricesResponseDto": {
        "type": "object",
        "properties": {
          "prices": {
            "description": "An array of prices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_DefaultPriceResponseDto"
            }
          },
          "total": {
            "type": "number",
            "default": "Total number of prices available",
            "example": 10
          }
        },
        "required": [
          "prices",
          "total"
        ]
      },
      "products_InventoryItemDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price",
            "example": "6241712be68f7a98102ba272"
          },
          "name": {
            "type": "string",
            "description": "Name of the price/variant",
            "example": "Medium T-shirt"
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available quantity in inventory",
            "example": 50
          },
          "sku": {
            "type": "string",
            "description": "SKU for the product variant",
            "example": "TSHIRT-MED-001"
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Whether out of stock purchases are allowed",
            "example": false
          },
          "product": {
            "type": "string",
            "description": "Product ID this price belongs to",
            "example": "6241712be68f7a98102ba270"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "image": {
            "type": "string",
            "description": "Product image URL",
            "example": "https://example.com/images/product.jpg"
          },
          "productName": {
            "type": "string",
            "description": "Product name",
            "example": "T-shirt"
          }
        },
        "required": [
          "_id",
          "name",
          "availableQuantity",
          "sku",
          "allowOutOfStockPurchases",
          "product",
          "updatedAt"
        ]
      },
      "products_GetInventoryResponseDto": {
        "type": "object",
        "properties": {
          "inventory": {
            "description": "List of inventory items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_InventoryItemDto"
            }
          },
          "total": {
            "type": "object",
            "description": "Total count of inventory items",
            "example": {
              "total": 100
            }
          }
        },
        "required": [
          "inventory",
          "total"
        ]
      },
      "products_UpdateInventoryItemDto": {
        "type": "object",
        "properties": {
          "priceId": {
            "type": "string",
            "description": "The unique identifier for the price, in MongoDB ID format.",
            "example": "5e9f8f8f8f8f8f8f8f8f8f8"
          },
          "availableQuantity": {
            "type": "number",
            "description": "The available quantity of the item.",
            "example": 10
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Whether to continue selling the item when out of stock.",
            "example": false
          }
        },
        "required": [
          "priceId"
        ]
      },
      "products_UpdateInventoryDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "items": {
            "description": "Array of items to update in the inventory.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_UpdateInventoryItemDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "items"
        ]
      },
      "products_UpdateInventoryResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_GetPriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_UpdatePriceDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Price Name"
          },
          "type": {
            "type": "string",
            "description": "The type of the price.",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency of the price.",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price. ( min: 0 )",
            "example": 99.99
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "A brief description of the price."
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_MembershipOfferDto"
            }
          },
          "trialPeriod": {
            "type": "number",
            "description": "The trial period duration in days (if applicable).",
            "example": 7
          },
          "totalCycles": {
            "type": "number",
            "description": "The total number of billing cycles for the price. ( min: 1 )",
            "example": 12
          },
          "setupFee": {
            "type": "number",
            "description": "The setup fee for the price.",
            "example": 10.99
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "option_id_1",
              "option_id_2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare at price for the price.",
            "example": 19.99
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier of the location associated with the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier of the user who created the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "meta": {
            "description": "Additional metadata associated with the price.",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_PriceMetaDto"
              }
            ]
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Need to track inventory stock quantity",
            "example": true
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          },
          "sku": {
            "type": "string",
            "description": "The unique identifier of the SKU associated with the price",
            "example": "sku_123"
          },
          "shippingOptions": {
            "description": "Shipping options of the Price",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ShippingOptionsDto"
              }
            ]
          },
          "isDigitalProduct": {
            "type": "boolean",
            "description": "Is the product a digital product",
            "example": true
          },
          "digitalDelivery": {
            "description": "Digital delivery options",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "type",
          "currency",
          "amount",
          "locationId"
        ]
      },
      "products_UpdatePriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_DeletePriceResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "returns true if the price is successfully deleted",
            "example": true
          }
        },
        "required": [
          "status"
        ]
      },
      "products_GetProductStatsResponseDto": {
        "type": "object",
        "properties": {
          "totalProducts": {
            "type": "number",
            "description": "Total number of products",
            "example": 100
          },
          "includedInStore": {
            "type": "number",
            "description": "Number of products included in the store",
            "example": 80
          },
          "excludedFromStore": {
            "type": "number",
            "description": "Number of products excluded from the store",
            "example": 20
          }
        },
        "required": [
          "totalProducts",
          "includedInStore",
          "excludedFromStore"
        ]
      },
      "products_UpdateProductStoreDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "action": {
            "type": "string",
            "description": "Action to include or exclude the product from the store",
            "example": "include",
            "enum": [
              "include",
              "exclude"
            ]
          },
          "productIds": {
            "description": "Array of product IDs",
            "example": [
              "productId1",
              "productId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "action",
          "productIds"
        ]
      },
      "products_UpdateProductStoreResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_UpdateDisplayPriorityBodyDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "products": {
            "description": "Array of products with their display priorities",
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "altId",
          "altType",
          "products"
        ]
      },
      "products_ListCollectionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of Collections",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "total": {
            "type": "number",
            "description": "The total count of the collections present, which is useful to calculate the pagination"
          }
        },
        "required": [
          "data",
          "total"
        ]
      },
      "products_ProductCategories": {
        "type": "object",
        "properties": {}
      },
      "products_DefaultCollectionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Collection Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductCategories"
              }
            ]
          },
          "status": {
            "type": "boolean",
            "description": "Status of the operation",
            "example": true
          }
        },
        "required": [
          "data",
          "status"
        ]
      },
      "products_CollectionSEODto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The title which will be displayed as an SEO format",
            "example": "Best Sellers"
          },
          "description": {
            "type": "string",
            "description": "The description which would be displayed in preview purposes",
            "example": "Collections where all the best products are available"
          }
        }
      },
      "products_CreateProductCollectionsDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "The type of alt. For now it is only LOCATION",
            "enum": [
              "location"
            ],
            "example": "LOCATION"
          },
          "collectionId": {
            "type": "string",
            "description": "Unique Identifier of the Product Collection, Mongo Id",
            "example": "66057f9d28536eae584ec047"
          },
          "name": {
            "type": "string",
            "description": "Name of the Product Collection",
            "example": "Best Sellers"
          },
          "slug": {
            "type": "string",
            "description": "Slug of the Product Collection which helps in navigation",
            "example": "best-sellers"
          },
          "image": {
            "type": "string",
            "description": "The URL of the image that is going to be displayed as the collection Thumbnail",
            "example": "http://example.com/watermark.png"
          },
          "seo": {
            "description": "The metadata information which will be displayed in SEO previews",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_CollectionSEODto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "slug"
        ]
      },
      "products_CollectionSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the collection",
            "example": "655b33a82209e60b6adb87a5"
          },
          "altId": {
            "type": "string",
            "description": "Location Id to which the collection is associated",
            "example": "Z4Bxl8J4SaPEPLq9IQ8g"
          },
          "name": {
            "type": "string",
            "description": "Name of the collection",
            "example": "Best Sellers"
          },
          "slug": {
            "type": "string",
            "description": "Slug of the collection with which navigation is established. Special Characters and spacing is not allowed and should be unique",
            "example": "best-sellers"
          },
          "image": {
            "type": "string",
            "description": "The URL of the image that is going to be displayed as the collection Thumbnail",
            "example": "http://example.com/watermark.png"
          },
          "seo": {
            "description": "The information which will be displayed in SEO previews",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_CollectionSEODto"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Date at which the collection was created",
            "example": "2024-02-22T09:27:19.728Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "name",
          "slug",
          "image",
          "seo",
          "createdAt"
        ]
      },
      "products_CreateCollectionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "created Collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_CollectionSchema"
              }
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "products_UpdateProductCollectionsDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "The type of alt. For now it is only LOCATION",
            "enum": [
              "location"
            ],
            "example": "LOCATION"
          },
          "name": {
            "type": "string",
            "description": "Name of the Product Collection",
            "example": "Best Sellers"
          },
          "slug": {
            "type": "string",
            "description": "Slug of the Product Collection which helps in navigation",
            "example": "best-sellers"
          },
          "image": {
            "type": "string",
            "description": "The URL of the image that is going to be displayed as the collection Thumbnail",
            "example": "http://example.com/watermark.png"
          },
          "seo": {
            "description": "The metadata information which will be displayed in SEO previews",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_CollectionSEODto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "products_UpdateProductCollectionResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_DeleteProductCollectionResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_ListProductReviewsResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of Collections",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "total": {
            "type": "number",
            "description": "The total count of the collections present, which is useful to calculate the pagination"
          }
        },
        "required": [
          "data",
          "total"
        ]
      },
      "products_CountReviewsByStatusResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of review status counts",
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ]
      },
      "products_UserDetailsDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the customer",
            "example": "John Doe",
            "minLength": 1,
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "description": "Email of the customer",
            "example": "example@example.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone no of the customer",
            "example": "+1-555-555-5555"
          },
          "isCustomer": {
            "type": "boolean",
            "description": "Is the person an admin or customer",
            "example": true
          }
        },
        "required": [
          "name",
          "email"
        ]
      },
      "products_ProductReviewDto": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string",
            "description": "Headline of the Review",
            "example": "Amazing product with great quality",
            "minLength": 0,
            "maxLength": 200
          },
          "comment": {
            "type": "string",
            "description": "Detailed Review of the product",
            "example": "This product exceeded my expectations in terms of quality and performance. Highly recommended!",
            "minLength": 0,
            "maxLength": 5000
          },
          "user": {
            "description": "User who is giving the review/reply",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_UserDetailsDto"
              }
            ]
          }
        },
        "required": [
          "headline",
          "comment",
          "user"
        ]
      },
      "products_UpdateProductReviewDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Status of the review",
            "example": "approved"
          },
          "reply": {
            "description": "Reply of the review",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductReviewDto"
            }
          },
          "rating": {
            "type": "number",
            "description": "Rating of the product",
            "example": "4.5"
          },
          "headline": {
            "type": "string",
            "description": "Headline of the Review",
            "example": "Amazing product with great quality"
          },
          "detail": {
            "type": "string",
            "description": "Detailed Review of the product",
            "example": "The product is for sure a must and recommended buy"
          }
        },
        "required": [
          "altId",
          "altType",
          "productId",
          "status"
        ]
      },
      "products_UpdateProductReviewsResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_UpdateProductReviewObjectDto": {
        "type": "object",
        "properties": {
          "reviewId": {
            "type": "string",
            "description": "Review Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9d"
          },
          "storeId": {
            "type": "string",
            "description": "Store Id",
            "example": "a1b2c3d4e5f6g7h8i9j0k1l2"
          }
        },
        "required": [
          "reviewId",
          "productId",
          "storeId"
        ]
      },
      "products_UpdateProductReviewsDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "reviews": {
            "description": "Array of Product Reviews",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_UpdateProductReviewObjectDto"
            }
          },
          "status": {
            "type": "object",
            "description": "Status of the review",
            "example": "approved"
          }
        },
        "required": [
          "altId",
          "altType",
          "reviews",
          "status"
        ]
      },
      "products_DeleteProductReviewResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_ProductVariantOptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the option.",
            "example": "h4z7u0im2q8"
          },
          "name": {
            "type": "string",
            "description": "The name of the option.",
            "example": "XL"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "products_ProductVariantDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the variant.",
            "example": "38s63qmxfr4"
          },
          "name": {
            "type": "string",
            "description": "The name of the variant.",
            "example": "Size"
          },
          "options": {
            "description": "An array of options for the variant.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantOptionDto"
            }
          }
        },
        "required": [
          "id",
          "name",
          "options"
        ]
      },
      "products_ProductLabelDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The content for the product label.",
            "example": "Featured"
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-26T05:43:35.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-30T05:43:39.000Z"
          }
        },
        "required": [
          "title"
        ]
      },
      "products_GetProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_DeleteProductResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "returns true if the product is successfully deleted",
            "example": true
          }
        },
        "required": [
          "status"
        ]
      },
      "products_ProductMediaDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the media.",
            "example": "fzrgusiuu0m"
          },
          "title": {
            "type": "string",
            "description": "The title of the media file.",
            "example": "1dd7dcd0-e71d-4cf7-a06b-6d47723d6a29.png"
          },
          "url": {
            "type": "string",
            "description": "The URL where the media file is stored.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/sample.png"
          },
          "type": {
            "type": "string",
            "description": "The type of the media file (e.g., image, video will be supporting soon).",
            "example": "image",
            "enum": [
              "image",
              "video"
            ]
          },
          "isFeatured": {
            "type": "boolean",
            "description": "Indicates whether the media is featured.",
            "example": true
          },
          "priceIds": {
            "description": "Mongo ObjectIds of the prices for which the media is assigned",
            "example": "6578278e879ad2646715ba9c",
            "type": "array",
            "items": {
              "type": "array"
            }
          }
        },
        "required": [
          "id",
          "url",
          "type"
        ]
      },
      "products_CreateProductDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "description": {
            "type": "string",
            "description": "A brief description of the product.",
            "example": "Product description goes here."
          },
          "productType": {
            "type": "string",
            "enum": [
              "DIGITAL",
              "PHYSICAL",
              "SERVICE",
              "PHYSICAL/DIGITAL"
            ]
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "medias": {
            "description": "An array of medias for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductMediaDto"
            }
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantDto"
            }
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "Are there any taxes attached to the product. If this is true, taxes array cannot be empty.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "List of ids of Taxes attached to the Product. If taxes are passed, isTaxesEnabled should be true.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "isLabelEnabled": {
            "type": "boolean",
            "description": "Is the product label enabled. If this is true, label object cannot be empty.",
            "example": true,
            "default": false
          },
          "label": {
            "description": "Details for Product Label",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug using which the product navigation will be handled",
            "example": "awesome-product"
          },
          "seo": {
            "description": "SEO data for the product that will be displayed in the preview",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductSEODto"
              }
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "Whether the taxes should be included in the purchase price",
            "example": true,
            "default": false
          }
        },
        "required": [
          "name",
          "locationId",
          "productType"
        ]
      },
      "products_CreateProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_UpdateProductDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "description": {
            "type": "string",
            "description": "A brief description of the product.",
            "example": "Product description goes here."
          },
          "productType": {
            "type": "string",
            "enum": [
              "DIGITAL",
              "PHYSICAL",
              "SERVICE",
              "PHYSICAL/DIGITAL"
            ]
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "medias": {
            "description": "An array of medias for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductMediaDto"
            }
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantDto"
            }
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "Are there any taxes attached to the product. If this is true, taxes array cannot be empty.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "List of ids of Taxes attached to the Product. If taxes are passed, isTaxesEnabled should be true.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "isLabelEnabled": {
            "type": "boolean",
            "description": "Is the product label enabled. If this is true, label object cannot be empty.",
            "example": true,
            "default": false
          },
          "label": {
            "description": "Details for Product Label",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug using which the product navigation will be handled",
            "example": "awesome-product"
          },
          "seo": {
            "description": "SEO data for the product that will be displayed in the preview",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductSEODto"
              }
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "Whether the taxes should be included in the purchase price",
            "example": true,
            "default": false
          },
          "prices": {
            "description": "The prices of the product",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "locationId",
          "productType"
        ]
      },
      "products_UpdateProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_DefaultProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_ListProductsStats": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of products",
            "example": 20
          }
        },
        "required": [
          "total"
        ]
      },
      "products_ListProductsResponseDto": {
        "type": "object",
        "properties": {
          "products": {
            "description": "An array of products",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_DefaultProductResponseDto"
            }
          },
          "total": {
            "description": "list products status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_ListProductsStats"
            }
          }
        },
        "required": [
          "products",
          "total"
        ]
      },
      "proposals_EntityReference": {
        "type": "string",
        "description": "Entity type",
        "enum": [
          "contacts",
          "users"
        ]
      },
      "proposals_ELEMENTS_LOOKUP": {
        "type": "string",
        "description": "Element type",
        "enum": [
          "Page",
          "Text",
          "Image",
          "Video",
          "Table",
          "ProductList",
          "PageBreak",
          "Signature",
          "PaymentDetails",
          "TextField",
          "DateField",
          "InitialsField",
          "Checkbox",
          "Row",
          "Column"
        ]
      },
      "proposals_FillableFieldsDTO": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string",
            "description": "Field Id",
            "example": "text_field_1"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Is the field required",
            "example": true
          },
          "hasCompleted": {
            "type": "boolean",
            "description": "Has the field been completed",
            "example": true
          },
          "recipient": {
            "type": "string",
            "description": "Recipient",
            "example": "John Doe"
          },
          "entityType": {
            "$ref": "#/components/schemas/proposals_EntityReference"
          },
          "id": {
            "type": "string",
            "description": "Id",
            "example": "2d0a6fe1-d519-4198-8785-3da1d7cab925"
          },
          "type": {
            "$ref": "#/components/schemas/proposals_ELEMENTS_LOOKUP"
          },
          "value": {
            "type": "string",
            "description": "Value of the field",
            "example": "John Doe"
          }
        },
        "required": [
          "fieldId",
          "isRequired",
          "hasCompleted",
          "recipient",
          "entityType",
          "id",
          "type",
          "value"
        ]
      },
      "proposals_DiscountDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "123456",
            "description": "Unique identifier for the discount"
          },
          "value": {
            "type": "number",
            "example": 10,
            "description": "Discount value (either a percentage or custom amount)"
          },
          "type": {
            "type": "string",
            "example": "percentage",
            "enum": [
              "percentage",
              "custom_amount"
            ],
            "description": "Type of discount"
          }
        },
        "required": [
          "id",
          "value",
          "type"
        ]
      },
      "proposals_GrandTotalDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "example": 100,
            "description": "Total amount before discounts"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency of the total amount"
          },
          "discountPercentage": {
            "type": "number",
            "example": 15,
            "description": "Total discount percentage applied"
          },
          "discounts": {
            "description": "List of applied discounts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_DiscountDto"
            }
          }
        },
        "required": [
          "amount",
          "currency",
          "discountPercentage",
          "discounts"
        ]
      },
      "proposals_RecipientItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Recipient Id",
            "example": "u240JcS0E5qE0ziHnwMm"
          },
          "firstName": {
            "type": "string",
            "description": "Recipient First Name",
            "example": "Jim"
          },
          "lastName": {
            "type": "string",
            "description": "Recipient Last Name",
            "example": "Anton"
          },
          "email": {
            "type": "string",
            "description": "Recipient Email",
            "example": "jim@gmail.com"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Recipient Phone Number",
            "example": "+1234567890"
          },
          "phone": {
            "type": "string",
            "description": "Recipient Phone",
            "example": "1234567890"
          },
          "hasCompleted": {
            "type": "boolean",
            "description": "Recipient has completed the document",
            "example": true
          },
          "role": {
            "type": "string",
            "enum": [
              "user",
              "signer"
            ],
            "description": "Recipient role",
            "example": "signer"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Recipient is primary",
            "example": true
          },
          "signingOrder": {
            "type": "number",
            "description": "Recipient signing order",
            "example": 1
          },
          "imgUrl": {
            "type": "string",
            "description": "Recipient image url",
            "example": "base64 image url"
          },
          "ip": {
            "type": "string",
            "description": "Recipient ip",
            "example": "123.123.123.123"
          },
          "userAgent": {
            "type": "string",
            "description": "Recipient user agent",
            "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
          },
          "signedDate": {
            "type": "string",
            "description": "Recipient signed date",
            "example": "2025-02-03T18:30:00.000Z"
          },
          "contactName": {
            "type": "string",
            "description": "Recipient contact name",
            "example": "Jim Anton"
          },
          "country": {
            "type": "string",
            "description": "Recipient country",
            "example": "United States"
          },
          "entityName": {
            "type": "string",
            "description": "Recipient entity name",
            "example": "Jim Anton"
          },
          "initialsImgUrl": {
            "type": "string",
            "description": "Recipient initials image url",
            "example": "base64 image url"
          },
          "lastViewedAt": {
            "type": "string",
            "description": "Recipient last viewed date",
            "example": "2025-02-03T18:30:00.000Z"
          },
          "shareLink": {
            "type": "string",
            "description": "Share link",
            "example": "https://www.google.com"
          }
        },
        "required": [
          "id",
          "email",
          "hasCompleted",
          "role",
          "isPrimary",
          "signingOrder"
        ]
      },
      "proposals_ProposalEstimateLinksDto": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "description": "Reference ID",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "documentId": {
            "type": "string",
            "description": "Document ID",
            "example": "c1e87a91-93b2-4b78-821f-85cf0e1f925b"
          },
          "recipientId": {
            "type": "string",
            "description": "Recipient ID",
            "example": "u240JcS0E5qE0ziHnwMm"
          },
          "entityName": {
            "type": "string",
            "enum": [
              "contacts",
              "users"
            ],
            "description": "Entity name that the recipient belongs to",
            "example": "contacts"
          },
          "recipientCategory": {
            "type": "string",
            "enum": [
              "recipient",
              "cc",
              "bcc"
            ],
            "description": "Recipient category (recipient, cc, or bcc)",
            "example": "recipient"
          },
          "documentRevision": {
            "type": "number",
            "description": "Document revision number",
            "example": 1
          },
          "createdBy": {
            "type": "string",
            "description": "Created by user ID",
            "example": "b6d8fa28-1112-4dc7-b9d2-f22b75a477ea"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the document is deleted",
            "example": false
          }
        },
        "required": [
          "referenceId",
          "documentId",
          "recipientId",
          "entityName",
          "recipientCategory",
          "documentRevision",
          "createdBy",
          "deleted"
        ]
      },
      "proposals_DocumentDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "documentId": {
            "type": "string",
            "description": "Document Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "_id": {
            "type": "string",
            "description": "Unique identifier",
            "example": "67ac9a51106ee8311e911XXXX"
          },
          "name": {
            "type": "string",
            "description": "Name of the document",
            "example": "Document Name"
          },
          "type": {
            "type": "string",
            "description": "Type of the document",
            "example": "proposal"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the document is deleted",
            "example": false
          },
          "isExpired": {
            "type": "boolean",
            "description": "Whether the document is expired",
            "example": false
          },
          "documentRevision": {
            "type": "number",
            "description": "Number of times document is moved to draft state",
            "example": 1
          },
          "fillableFields": {
            "description": "Fillable fields",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_FillableFieldsDTO"
            }
          },
          "grandTotal": {
            "description": "Grand total object of the document",
            "allOf": [
              {
                "$ref": "#/components/schemas/proposals_GrandTotalDto"
              }
            ]
          },
          "locale": {
            "type": "string",
            "description": "Locale of the location",
            "example": "en-US"
          },
          "status": {
            "type": "array",
            "description": "Document status",
            "example": "draft",
            "items": {
              "type": "string",
              "enum": [
                "draft",
                "sent",
                "viewed",
                "completed",
                "accepted"
              ]
            }
          },
          "paymentStatus": {
            "type": "array",
            "description": "Payment status",
            "example": "paid",
            "items": {
              "type": "string",
              "enum": [
                "waiting_for_payment",
                "paid",
                "no_payment"
              ]
            }
          },
          "recipients": {
            "description": "Recipients",
            "example": [
              {
                "id": "u240JcS0E5qE0ziHnwMm",
                "email": "jim@gmail.com",
                "imageUrl": "",
                "contactName": "Jim Anton",
                "firstName": "Jim",
                "lastName": "Anton",
                "role": "signer",
                "hasCompleted": true,
                "signingOrder": 1,
                "imgUrl": "base64 image url",
                "ip": "123.123.123.123"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_RecipientItem"
            }
          },
          "links": {
            "description": "Links for the document if its sent",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_ProposalEstimateLinksDto"
            }
          },
          "updatedAt": {
            "type": "string",
            "description": "Date start from (ISO 8601)",
            "example": "2025-02-03T18:30:00.000Z"
          },
          "createdAt": {
            "type": "string",
            "description": "Date to (ISO 8601)",
            "example": "2025-02-14T18:29:59.999Z"
          }
        },
        "required": [
          "locationId",
          "documentId",
          "_id",
          "name",
          "type",
          "deleted",
          "isExpired",
          "documentRevision",
          "fillableFields",
          "grandTotal",
          "locale",
          "status",
          "paymentStatus",
          "recipients",
          "links",
          "updatedAt",
          "createdAt"
        ]
      },
      "proposals_DocumentListResponseDto": {
        "type": "object",
        "properties": {
          "documents": {
            "description": "List of documents",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_DocumentDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total records available",
            "example": 10
          },
          "whiteLabelBaseUrl": {
            "type": "number",
            "description": "WhiteLabel url for document",
            "example": "https://example.com"
          },
          "whiteLabelBaseUrlForInvoice": {
            "type": "number",
            "description": "WhiteLabel url for invoice",
            "example": "https://example.com"
          }
        },
        "required": [
          "documents",
          "total"
        ]
      },
      "proposals_BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          }
        }
      },
      "proposals_CCRecipientItem": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email",
            "example": "jim@gmail.com"
          },
          "id": {
            "type": "string",
            "description": "Contact ID",
            "example": "contactId"
          },
          "imageUrl": {
            "type": "string",
            "description": "Contact Image URL",
            "example": "https://example.com/image.jpg"
          },
          "contactName": {
            "type": "string",
            "description": "Contact Name",
            "example": "Jim Anton"
          },
          "firstName": {
            "type": "string",
            "description": "First Name",
            "example": "Jim"
          },
          "lastName": {
            "type": "string",
            "description": "Last Name",
            "example": "Anton"
          }
        },
        "required": [
          "email",
          "id",
          "imageUrl",
          "contactName",
          "firstName",
          "lastName"
        ]
      },
      "proposals_NotificationSendSettingDto": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "templateId",
          "subject"
        ]
      },
      "proposals_NotificationSenderSettingDto": {
        "type": "object",
        "properties": {
          "fromEmail": {
            "type": "string"
          },
          "fromName": {
            "type": "string"
          }
        },
        "required": [
          "fromEmail",
          "fromName"
        ]
      },
      "proposals_NotificationSettingsDto": {
        "type": "object",
        "properties": {
          "receive": {
            "$ref": "#/components/schemas/proposals_NotificationSendSettingDto"
          },
          "sender": {
            "$ref": "#/components/schemas/proposals_NotificationSenderSettingDto"
          }
        },
        "required": [
          "receive",
          "sender"
        ]
      },
      "proposals_SendDocumentDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "documentId": {
            "type": "string",
            "description": "Document Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "documentName": {
            "type": "string",
            "description": "Document Name",
            "example": "new Document"
          },
          "medium": {
            "type": "string",
            "enum": [
              "link",
              "email"
            ],
            "description": "Medium to be used for sending the document",
            "example": "email"
          },
          "ccRecipients": {
            "description": "CC Recipient",
            "example": [
              {
                "id": "u240JcS0E5qE0ziHnwMm",
                "email": "jim@gmail.com",
                "imageUrl": "",
                "contactName": "Jim Anton",
                "firstName": "Jim",
                "lastName": "Anton"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_CCRecipientItem"
            }
          },
          "notificationSettings": {
            "example": {
              "sender": {
                "fromName": "",
                "fromEmail": ""
              },
              "receive": {
                "subject": "",
                "templateId": ""
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/proposals_NotificationSettingsDto"
              }
            ]
          },
          "sentBy": {
            "type": "string",
            "description": "Sent ByUser Id",
            "example": "1234567890"
          }
        },
        "required": [
          "locationId",
          "documentId",
          "sentBy"
        ]
      },
      "proposals_SendDocumentResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "links": {
            "description": "Links for all recipients",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_ProposalEstimateLinksDto"
            }
          }
        },
        "required": [
          "success",
          "links"
        ]
      },
      "proposals_TemplateListResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "685d11c371c22e636e9c04b2",
            "description": "Template ID"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Whether the template is deleted"
          },
          "version": {
            "type": "number",
            "example": 2,
            "description": "Template version"
          },
          "name": {
            "type": "string",
            "example": "New Template",
            "description": "Template name"
          },
          "locationId": {
            "type": "string",
            "example": "5rORm9p7RtxWQPzBIbTG",
            "description": "Location ID"
          },
          "type": {
            "type": "string",
            "example": "proposal",
            "description": "Template type",
            "enum": [
              "proposal",
              "estimate",
              "contentLibrary"
            ]
          },
          "updatedBy": {
            "type": "string",
            "example": "K9PSPnWjfNoE8DCf5LJZ",
            "description": "User ID who last updated the template"
          },
          "isPublicDocument": {
            "type": "boolean",
            "example": true,
            "description": "Whether the template is a public document"
          },
          "createdAt": {
            "type": "string",
            "example": "2025-06-26T09:24:19.305Z",
            "description": "Template creation date"
          },
          "updatedAt": {
            "type": "string",
            "example": "2025-06-26T09:27:32.119Z",
            "description": "Template last update date"
          },
          "id": {
            "type": "string",
            "example": "685d11c371c22e636e9c04b2",
            "description": "Template ID (alias for _id)"
          },
          "documentCount": {
            "type": "number",
            "example": 0,
            "description": "Document count (only present when isPublicDocument is true)"
          },
          "docFormUrl": {
            "type": "string",
            "example": "https://staging.sendlink.co/documents/doc-form/685d11c371c22e636e9c04b2?locale=en_US",
            "description": "Document form URL (only present when isPublicDocument is true)"
          }
        },
        "required": [
          "_id",
          "deleted",
          "version",
          "name",
          "locationId",
          "type",
          "updatedBy",
          "isPublicDocument",
          "createdAt",
          "updatedAt",
          "id"
        ]
      },
      "proposals_TemplateListPaginationResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of templates",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_TemplateListResponseDTO"
            }
          },
          "total": {
            "type": "number",
            "example": 2,
            "description": "Total number of templates"
          },
          "traceId": {
            "type": "string",
            "example": "d5656876-86a5-46fb-84df-788f1da7937a",
            "description": "Trace ID for request tracking"
          }
        },
        "required": [
          "data",
          "total"
        ]
      },
      "proposals_SendDocumentFromPublicApiBodyDto": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "Template Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "sendDocument": {
            "type": "boolean",
            "description": "Send Document",
            "example": true
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "opportunityId": {
            "type": "string",
            "description": "Opportunity Id",
            "example": "hTlkh7t8gujsahgg93"
          }
        },
        "required": [
          "templateId",
          "userId",
          "locationId",
          "contactId"
        ]
      },
      "proposals_SendTemplateResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "links": {
            "description": "Links for all recipients",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_ProposalEstimateLinksDto"
            }
          }
        },
        "required": [
          "success",
          "links"
        ]
      },
      "proposals_UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized"
          }
        }
      },
      "saas_api_BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": "Bad Request",
            "description": "Error message"
          }
        }
      },
      "saas_api_UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid",
            "description": "Error message"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized",
            "description": "Error message"
          }
        }
      },
      "saas_api_ResourceNotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 404,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": [
              "Contact not found",
              "User not found",
              "Group not found",
              "Channel not found"
            ],
            "description": "Error message"
          }
        }
      },
      "saas_api_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 500,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error",
            "description": "Error message"
          }
        }
      },
      "saas_api_UpdateSubscriptionDto": {
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "description": "Subscription ID",
            "example": "sub_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "customerId": {
            "type": "string",
            "description": "Customer ID",
            "example": "cus_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          }
        },
        "required": [
          "subscriptionId",
          "customerId",
          "companyId"
        ]
      },
      "saas_api_BulkDisableSaasDto": {
        "type": "object",
        "properties": {
          "locationIds": {
            "description": "Location IDs",
            "example": [
              "locationId1",
              "locationId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationIds"
        ]
      },
      "saas_api_BulkDisableSaasResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "Response data from the bulk disable SaaS operation",
            "example": {
              "msg": "success"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "saas_api_EnableSaasDto": {
        "type": "object",
        "properties": {
          "stripeAccountId": {
            "type": "string",
            "description": "Stripe account id(Required only for SaaS V1)",
            "example": "acct_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "name": {
            "type": "string",
            "description": "Name of the stripe customer(Required only for SaaS V1)",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email of the stripe customer(Required only for SaaS V1)",
            "example": "john.doe@example.com"
          },
          "stripeCustomerId": {
            "type": "string",
            "description": "Stripe customer id if exists(Required only for SaaS V1)",
            "example": "cus_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "companyId": {
            "type": "string"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Denotes if it is a saas v2 or v1 sub-account",
            "example": true
          },
          "contactId": {
            "type": "string",
            "description": "Agency subaccount used for payment provider integration(Required Only for SaaS V2)",
            "example": "1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Agency Subaccount ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Description"
          },
          "saasPlanId": {
            "type": "string",
            "description": "Required only while pre-configuring saas subscription",
            "example": "1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "priceId": {
            "type": "string",
            "description": "Required only while pre-configuring saas subscription",
            "example": "price_1QDPY5FpU9DlKp7RQ8BXfywx"
          }
        },
        "required": [
          "companyId",
          "isSaaSV2"
        ]
      },
      "saas_api_EnableSaasResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "Response data from the enable SaaS operation",
            "example": {
              "customer_id": "cus_1QDPY5FpU9DlKp7RQ8BXfywx",
              "ok": true,
              "paymentMethodAdded": true
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "saas_api_PauseLocationDto": {
        "type": "object",
        "properties": {
          "paused": {
            "type": "boolean",
            "description": "Paused",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          }
        },
        "required": [
          "paused",
          "companyId"
        ]
      },
      "saas_api_UpdateRebillingDto": {
        "type": "object",
        "properties": {
          "product": {
            "type": "string",
            "description": "The product to update rebilling for",
            "example": "contentAI",
            "enum": [
              "contentAI",
              "workflow_premium_actions",
              "workflow_ai",
              "conversationAI",
              "EmailNotification",
              "whatsApp",
              "reviewsAI",
              "VERIFIED_CALLER_ID",
              "WALLET_SALES_TAX",
              "NOTIFICATION_SMS",
              "EmailSmtp",
              "EmailVerification",
              "autoCompleteAddress",
              "funnelAI",
              "domainPurchase",
              "Phone",
              "Email"
            ]
          },
          "locationIds": {
            "description": "Array of location IDs to update rebilling for",
            "example": [
              "zzyG7A4x6bRJl5SlhQhH",
              "Vygq7VgXCDfg3xnl8TBR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "config": {
            "type": "object",
            "description": "Configuration for rebilling settings",
            "properties": {
              "optIn": {
                "type": "boolean",
                "description": "Enable the product for the locations",
                "example": true
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable the rebilling for the locations",
                "example": true
              },
              "markup": {
                "type": "number",
                "description": "Additional value to be added in terms of percentage. For example, if the product price is $100 and the markup is 5, the amount charged to will be $105.",
                "example": 5
              }
            }
          }
        },
        "required": [
          "product",
          "locationIds",
          "config"
        ]
      },
      "saas_api_UpdateRebillingResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the rebilling update was successful",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "saas_api_AgencyPlanResponseDto": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "description": "Unique identifier for the plan",
            "example": "66c4d36534f21f900dc2a265"
          },
          "title": {
            "type": "string",
            "description": "Title of the plan",
            "example": "AED 1.5 changed"
          },
          "description": {
            "type": "string",
            "description": "Description of the plan",
            "example": "AED 1.5"
          },
          "saasProducts": {
            "description": "Array of SaaS products included in the plan",
            "example": [
              "2-way-text-messaging",
              "gmb-messaging",
              "web-chat",
              "reputation-management"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addOns": {
            "description": "Array of add-ons included in the plan",
            "example": [
              "CONVERSATIONS_AI",
              "CP_BRANDED_APP_49",
              "WORDPRESS_V1"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "planLevel": {
            "type": "number",
            "description": "Level of the plan (0-4)",
            "example": 0
          },
          "trialPeriod": {
            "type": "number",
            "description": "Trial period in days",
            "example": 16
          },
          "userLimit": {
            "type": "number",
            "description": "User limit for the plan",
            "example": 50
          },
          "contactLimit": {
            "type": "number",
            "description": "Contact limit for the plan",
            "example": 50
          },
          "prices": {
            "type": "array",
            "description": "Pricing information for the plan",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "ID of the price",
                  "type": "string",
                  "example": "66a9edbfcc6c505a22db7976"
                },
                "billingInterval": {
                  "description": "Billing interval for the plan",
                  "type": "string",
                  "enum": [
                    "month",
                    "year"
                  ],
                  "example": "month"
                },
                "active": {
                  "description": "Indicates if the price is active",
                  "type": "boolean",
                  "example": true
                },
                "amount": {
                  "description": "Amount of the price",
                  "type": "number",
                  "example": 150
                },
                "currency": {
                  "description": "Currency of the price",
                  "type": "string",
                  "example": "AED"
                },
                "symbol": {
                  "description": "Symbol of the price",
                  "type": "string",
                  "example": "$"
                }
              }
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID for the plan",
            "example": "66911cdc98508ec2731979b9"
          },
          "snapshotId": {
            "type": "string",
            "description": "Snapshot ID for the plan",
            "example": "G8KmpIeLnZc7ZMoJoxDx"
          },
          "productId": {
            "type": "string",
            "description": "Product ID for the plan",
            "example": "66a9edbfcc6c5090bedb7974"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if this is a SaaS V2 plan",
            "example": true
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-07-31T07:54:41.885Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-01T12:27:29.167Z"
          }
        },
        "required": [
          "planId",
          "title",
          "description",
          "saasProducts",
          "planLevel",
          "trialPeriod",
          "prices",
          "isSaaSV2",
          "createdAt",
          "updatedAt"
        ]
      },
      "saas_api_LocationSubscriptionResponseDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "locationId1"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if the SaaS is V2",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          },
          "saasMode": {
            "type": "string",
            "description": "SaaS mode",
            "example": "saasV2"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription ID",
            "example": "subscriptionId1"
          },
          "customerId": {
            "type": "string",
            "description": "Customer ID",
            "example": "customerId1"
          },
          "productId": {
            "type": "string",
            "description": "Product ID",
            "example": "productId1"
          },
          "priceId": {
            "type": "string",
            "description": "Price ID",
            "example": "priceId1"
          },
          "saasPlanId": {
            "type": "string",
            "description": "SaaS plan ID",
            "example": "saasPlanId1"
          },
          "subscriptionStatus": {
            "type": "string",
            "description": "Subscription status",
            "example": "active"
          }
        },
        "required": [
          "locationId",
          "isSaaSV2",
          "companyId"
        ]
      },
      "saas_api_BulkEnableSaasActionPayloadDto": {
        "type": "object",
        "properties": {
          "priceId": {
            "type": "string",
            "description": "Price ID for the SaaS plan",
            "example": "price_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "stripeAccountId": {
            "type": "string",
            "description": "Stripe account ID",
            "example": "acct_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "saasPlanId": {
            "type": "string",
            "description": "SaaS plan ID",
            "example": "66c4d36534f21f900dc2a265"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          }
        },
        "required": [
          "saasPlanId"
        ]
      },
      "saas_api_BulkEnableSaasRequestDto": {
        "type": "object",
        "properties": {
          "locationIds": {
            "description": "Array of location IDs to enable SaaS for",
            "example": [
              "locationId1",
              "locationId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if the SaaS is V2",
            "example": true
          },
          "actionPayload": {
            "description": "Action payload for the bulk enable SaaS operation",
            "allOf": [
              {
                "$ref": "#/components/schemas/saas_api_BulkEnableSaasActionPayloadDto"
              }
            ]
          }
        },
        "required": [
          "locationIds",
          "isSaaSV2",
          "actionPayload"
        ]
      },
      "saas_api_BulkEnableSaasResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the bulk enable SaaS operation was successful",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Message indicating the bulk enable SaaS operation",
            "example": "Bulk enable SaaS operation completed successfully"
          },
          "bulkActionUrl": {
            "type": "string",
            "description": "URL for the bulk enable SaaS operation",
            "example": "https://example.com/bulk-enable-saas"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "saas_api_SaasLocationDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "locationId1"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          },
          "saasMode": {
            "type": "string",
            "description": "SaaS mode",
            "example": "saasV2"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription ID",
            "example": "subscriptionId1"
          },
          "customerId": {
            "type": "string",
            "description": "Customer ID",
            "example": "customerId1"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john.doe@example.com"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if the SaaS is V2",
            "example": true
          },
          "subscriptionInfo": {
            "type": "object",
            "description": "Subscription information",
            "example": {
              "priceId": "price_1QDPY5FpU9DlKp7RQ8BXfywx",
              "saasPlanId": "66c4d36534f21f900dc2a265",
              "stripeProductId": "prod_1QDPY5FpU9DlKp7RQ8BXfywx",
              "subscriptionStatus": "active"
            }
          }
        },
        "required": [
          "locationId",
          "companyId",
          "saasMode",
          "subscriptionId"
        ]
      },
      "saas_api_GetSaasLocationsResponseDto": {
        "type": "object",
        "properties": {
          "locations": {
            "description": "Array of SaaS locations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/saas_api_SaasLocationDto"
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "number",
                "example": 1,
                "description": "Page number"
              },
              "limit": {
                "type": "number",
                "example": 10,
                "description": "Number of items per page"
              },
              "total": {
                "type": "number",
                "example": 100,
                "description": "Total number of items"
              },
              "totalPages": {
                "type": "number",
                "example": 10,
                "description": "Total number of pages"
              },
              "hasNext": {
                "type": "boolean",
                "example": true,
                "description": "Indicates if there is a next page"
              },
              "hasPrev": {
                "type": "boolean",
                "example": true,
                "description": "Indicates if there is a previous page"
              }
            }
          }
        },
        "required": [
          "locations",
          "pagination"
        ]
      },
      "saas_api_SaasPlanResponseDto": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "description": "Unique identifier for the SaaS plan",
            "example": "66c4d36534f21f900dc2a265"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID associated with the SaaS plan",
            "example": "66c4d36534f21f900dc2a265"
          },
          "title": {
            "type": "string",
            "description": "Title of the SaaS plan",
            "example": "AED 1.5 changed"
          },
          "description": {
            "type": "string",
            "description": "Description of the SaaS plan",
            "example": "AED 1.5"
          },
          "saasProducts": {
            "description": "Array of SaaS products included in the plan",
            "example": [
              "2-way-text-messaging",
              "gmb-messaging",
              "web-chat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addOns": {
            "description": "Array of add-ons included in the plan",
            "example": [
              "YEXT_V2",
              "WHATSAPP_V1",
              "WORDPRESS_V1",
              "AI_EMPLOYEE",
              "Ad_Publishing_Connect_Your_BM"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "planLevel": {
            "type": "number",
            "description": "Level of the plan (0-4)",
            "example": 0
          },
          "trialPeriod": {
            "type": "number",
            "description": "Trial period in days",
            "example": 16
          },
          "setupFee": {
            "type": "number",
            "description": "Setup fee for the plan",
            "example": 100
          },
          "userLimit": {
            "type": "number",
            "description": "User limit for the plan",
            "example": 50
          },
          "contactLimit": {
            "type": "number",
            "description": "Contact limit for the plan",
            "example": 50
          },
          "prices": {
            "type": "array",
            "description": "Prices for the plan",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "example": "66a9edbfcc6c505a22db7976"
                },
                "billingInterval": {
                  "type": "string",
                  "enum": [
                    "month",
                    "year"
                  ],
                  "example": "month"
                },
                "active": {
                  "type": "boolean",
                  "example": true
                },
                "amount": {
                  "type": "number",
                  "example": 150
                },
                "currency": {
                  "type": "string",
                  "example": "AED"
                },
                "symbol": {
                  "type": "string",
                  "example": "$"
                }
              }
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID for the plan",
            "example": "66911cdc98508ec2731979b9"
          },
          "snapshotId": {
            "type": "string",
            "description": "Snapshot ID for the plan",
            "example": "G8KmpIeLnZc7ZMoJoxDx"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "productId": {
            "type": "string",
            "description": "Product ID for the plan",
            "example": "66a9edbfcc6c5090bedb7974"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if this is a SaaS V2 plan",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-07-31T07:54:41.885Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-01T12:27:29.167Z"
          }
        },
        "required": [
          "planId",
          "companyId",
          "title",
          "description",
          "saasProducts",
          "planLevel",
          "trialPeriod",
          "prices",
          "isSaaSV2",
          "createdAt",
          "updatedAt"
        ]
      },
      "snapshots_SnapshotsSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "Snapshot Id."
          },
          "name": {
            "type": "string",
            "example": "Martial Arts Snapshot",
            "description": "Name of the snapshot"
          },
          "type": {
            "type": "string",
            "example": "own",
            "description": "Type of snapshot - own or imported."
          }
        }
      },
      "snapshots_GetSnapshotsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "snapshots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/snapshots_SnapshotsSchema"
            }
          }
        }
      },
      "snapshots_CreateSnapshotShareLinkRequestDTO": {
        "type": "object",
        "properties": {
          "snapshot_id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "id for snapshot to be shared"
          },
          "share_type": {
            "type": "string",
            "example": "permanent_link",
            "description": "Type of share link to generate",
            "enum": [
              "link",
              "permanent_link",
              "agency_link",
              "location_link"
            ]
          },
          "relationship_number": {
            "type": "string",
            "example": "0-128-926,1-208-926,2-008-926",
            "description": "Comma separated Relationship number of Agencies to create agency restricted share link"
          },
          "share_location_id": {
            "type": "string",
            "example": "l1C08ntBrFjLS0elLIYU, U1C08ntBrFjLS0elKIYP",
            "description": "Comma separated Sub-Account ids to create sub-account restricted share link"
          }
        },
        "required": [
          "snapshot_id",
          "share_type"
        ]
      },
      "snapshots_CreateSnapshotShareLinkSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "id for shared snapshot"
          },
          "shareLink": {
            "type": "string",
            "example": "https://affiliates.crm.gesvision.com/?share=1eM2UgkfaECOYyUdCo9Pa",
            "description": "Share Link for snapshot"
          }
        }
      },
      "snapshots_SnapshotStatusSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "Document id"
          },
          "locationId": {
            "type": "string",
            "example": "BrKClvyvdxhJ9Mxz2pzQ",
            "description": "Sub-account id"
          },
          "status": {
            "type": "string",
            "example": "processing",
            "description": "Status of snapshot push"
          },
          "dateAdded": {
            "format": "date-time",
            "type": "string",
            "example": "10/28/2022, 6:24:54 PM",
            "description": "Timestamp of when snapshot processing starts for sub-account "
          }
        }
      },
      "snapshots_GetSnapshotPushStatusSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/snapshots_SnapshotStatusSchema"
            }
          }
        }
      },
      "snapshots_SnapshotStatusSchemaWithAssets": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "Document id"
          },
          "locationId": {
            "type": "string",
            "example": "BrKClvyvdxhJ9Mxz2pzQ",
            "description": "Sub-account id"
          },
          "status": {
            "type": "string",
            "example": "processing",
            "description": "Status of snapshot push"
          },
          "completed": {
            "example": "['forms', 'surveys', 'funnels', 'workflows']",
            "description": "List of completed assets",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pending": {
            "example": "['custom_fields','custom_values','tags']",
            "description": "List of pending assets",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "snapshots_GetLatestSnapshotPushStatusSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/snapshots_SnapshotStatusSchemaWithAssets"
          }
        }
      },
      "social_media_posting_GoogleLocationSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "accounts/114659701071209971352"
          },
          "storeCode": {
            "type": "string",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "title": {
            "type": "string",
            "example": "Location Title"
          },
          "metadata": {
            "type": "object",
            "description": "Meta data not related to User",
            "example": {}
          },
          "storefrontAddress": {
            "type": "object",
            "description": "Store front address",
            "example": {}
          },
          "relationshipData": {
            "type": "object",
            "description": "All locations and chain related to this one",
            "example": {}
          },
          "maxLocation": {
            "type": "boolean",
            "example": true
          },
          "isVerified": {
            "type": "boolean",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "social_media_posting_GoogleAccountsSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "accounts/114659701071209971352"
          },
          "accountName": {
            "type": "string",
            "example": "Account Name Test"
          },
          "type": {
            "type": "string",
            "example": "PERSONAL"
          },
          "verificationState": {
            "type": "string",
            "example": "UNVERIFIED"
          },
          "vettedState": {
            "type": "string",
            "example": "NOT_VETTED"
          }
        }
      },
      "social_media_posting_GetGoogleLocationSchema": {
        "type": "object",
        "properties": {
          "location": {
            "description": "Google Location Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GoogleLocationSchema"
              }
            ]
          },
          "account": {
            "description": "Google Account Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GoogleAccountsSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_GetGoogleLocationAccountSchema": {
        "type": "object",
        "properties": {
          "locations": {
            "description": "Locations",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetGoogleLocationSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_GetGoogleLocationResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Google Business Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetGoogleLocationAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_AttachGMBLocationDTO": {
        "type": "object",
        "properties": {
          "location": {
            "type": "object"
          },
          "account": {
            "type": "object"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_media_posting_SocialGoogleMediaAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "example": "google"
          },
          "type": {
            "type": "object",
            "example": "location"
          },
          "name": {
            "type": "string",
            "example": "Account Name"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_media_posting_SocialMediaGmbAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Google Business Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_SocialGoogleMediaAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_SearchPostDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "type must be one of the following values: recent, all, scheduled, draft, failed, in_review, published, in_progress and deleted",
            "example": "Filter type",
            "default": "all"
          },
          "accounts": {
            "type": "string",
            "description": "List of account Ids seperated by comma as a string",
            "example": "660a83fc29deacac50033e2b_omaDY3RbWtTP511e808O_17841465964543589, 38bF83fc29deacac50033e2b_omaDY3RbWtr3P11e808O_17841465964543998"
          },
          "skip": {
            "type": "string",
            "example": "1",
            "default": "0"
          },
          "limit": {
            "type": "string",
            "example": "10",
            "default": "10"
          },
          "fromDate": {
            "type": "string",
            "description": "From Date",
            "example": "2024-01-22T05:32:49.463Z"
          },
          "toDate": {
            "type": "string",
            "description": "To Date",
            "example": "2024-03-20T05:32:49.463Z"
          },
          "includeUsers": {
            "type": "string",
            "description": "Include User Data",
            "example": "true"
          },
          "postType": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          }
        },
        "required": [
          "skip",
          "limit",
          "fromDate",
          "toDate",
          "includeUsers"
        ]
      },
      "social_media_posting_PostMediaSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://i0.wp.com/www.lifeofanarchitect.com/wp-content/uploads/2021/10/architectural-model-making-stairs.jpg"
          },
          "caption": {
            "type": "string",
            "example": "Caption 1"
          },
          "type": {
            "type": "string",
            "example": "video/mp4 or image/png"
          },
          "thumbnail": {
            "type": "string",
            "example": "https://storage.googleapis.com/test/test/media/test.jpeg"
          },
          "defaultThumb": {
            "type": "string",
            "example": "https://storage.googleapis.com/test/test/media/test.jpeg"
          },
          "id": {
            "type": "string",
            "example": "Edf3323fsfsdsd"
          }
        },
        "required": [
          "url"
        ]
      },
      "social_media_posting_OgTagsSchema": {
        "type": "object",
        "properties": {
          "metaImage": {
            "type": "string",
            "description": "Meta Image",
            "example": "https://wwww.lifeofanarchitect.com/wp-content/uploads/2021/10/architectural-model-making-stairs.jpg"
          },
          "metaLink": {
            "type": "string",
            "description": "Meta Link"
          }
        }
      },
      "social_media_posting_PostUserSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User Id",
            "example": "6284c43d519161e96cc09c13"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Mr"
          },
          "firstName": {
            "type": "string",
            "description": "First name",
            "example": "Harry"
          },
          "lastName": {
            "type": "string",
            "description": "Last name",
            "example": "Spencer"
          },
          "profilePhoto": {
            "type": "string",
            "description": "Profile photo",
            "example": "https://storage.googleapis.com/user/kCrjKGHZQ2/profile/1dca8c-61c9-404d-a459-751fbcb.jpeg"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "901111119"
          },
          "email": {
            "type": "string",
            "description": "Email Id",
            "example": "abc@xyc.com"
          }
        },
        "required": [
          "id",
          "title",
          "firstName",
          "lastName",
          "profilePhoto",
          "phone",
          "email"
        ]
      },
      "social_media_posting_FormatedApprovalDetails": {
        "type": "object",
        "properties": {
          "approver": {
            "type": "string",
            "description": "Approver",
            "example": "iVrVJ2uoXNF0wzcBzgl5"
          },
          "requesterNote": {
            "type": "string",
            "description": "Requester Notes",
            "example": "Test suggestion"
          },
          "approverNote": {
            "type": "string",
            "description": "Approver Notes",
            "example": "Test suggestion"
          },
          "approvalStatus": {
            "type": "object",
            "description": "Approval Status must be one of the following values: pending, approved, rejected, not_required",
            "example": "approved"
          },
          "approverUser": {
            "description": "Approver User Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_PostUserSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_TiktokPostSchema": {
        "type": "object",
        "properties": {
          "privacyLevel": {
            "type": "object",
            "description": "privacy level is an enum and must be one of the following values: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, SELF_ONLY",
            "example": "PUBLIC_TO_EVERYONE"
          },
          "promoteOtherBrand": {
            "type": "boolean",
            "description": "promote other brand",
            "example": true
          },
          "enableComment": {
            "type": "boolean",
            "description": "enable comment",
            "example": true
          },
          "enableDuet": {
            "type": "boolean",
            "description": "enable duet",
            "example": true
          },
          "enableStitch": {
            "type": "boolean",
            "description": "enable stitch",
            "example": true
          },
          "videoDisclosure": {
            "type": "boolean",
            "description": "video disclosure",
            "example": true
          },
          "promoteYourBrand": {
            "type": "boolean",
            "description": "promote your brand",
            "example": true
          }
        }
      },
      "social_media_posting_DateSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "number",
            "example": 2022
          },
          "month": {
            "type": "number",
            "example": 1
          },
          "day": {
            "type": "number",
            "example": 1
          }
        },
        "required": [
          "year",
          "month",
          "day"
        ]
      },
      "social_media_posting_TimeSchema": {
        "type": "object",
        "properties": {
          "hours": {
            "type": "number",
            "example": 23
          },
          "minutes": {
            "type": "number",
            "example": 56
          },
          "seconds": {
            "type": "number",
            "example": 34
          }
        },
        "required": [
          "hours",
          "minutes",
          "seconds"
        ]
      },
      "social_media_posting_StartDateSchema": {
        "type": "object",
        "properties": {
          "startDate": {
            "description": "Start Date",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_DateSchema"
              }
            ]
          },
          "startTime": {
            "description": "Start Time",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_TimeSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_EndDateSchema": {
        "type": "object",
        "properties": {
          "endDate": {
            "description": "End Date",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_DateSchema"
              }
            ]
          },
          "endTime": {
            "description": "End Time",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_TimeSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_GMBPostSchema": {
        "type": "object",
        "properties": {
          "gmbEventType": {
            "type": "string",
            "example": "STANDARD",
            "description": "gmbEventType must be one of the following values: STANDARD, EVENT, OFFER"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Event Title"
          },
          "offerTitle": {
            "type": "string",
            "description": "Offer Title",
            "example": "Hey"
          },
          "startDate": {
            "description": "Start Date",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_StartDateSchema"
              }
            ]
          },
          "endDate": {
            "description": "End Date",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_EndDateSchema"
              }
            ]
          },
          "termsConditions": {
            "type": "string",
            "description": "Terms Condition Url",
            "example": "https://google.com/privacy"
          },
          "url": {
            "type": "string",
            "description": "Url",
            "example": "https://google.com"
          },
          "couponCode": {
            "type": "string",
            "description": "Coupon Code",
            "example": "BOGO-50"
          },
          "redeemOnlineUrl": {
            "type": "string",
            "description": "Redeem Online Url",
            "example": "https://google.com"
          },
          "actionType": {
            "type": "object",
            "description": "Action Type must be one of the following values: none, order, book, shop, learn_more, call, sign_up",
            "example": "book"
          }
        }
      },
      "social_media_posting_GetPostFormattedSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "61bb16833b3f2791f9715be2"
          },
          "source": {
            "type": "string",
            "description": "source must be one of the following values: composer, recurring, csv",
            "enum": [
              "composer",
              "csv",
              "recurring",
              "review",
              "rss"
            ],
            "example": "composer"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "platform": {
            "type": "string",
            "description": "platform must be one of the following values: google, facebook, instagram, linkedin, twitter, tiktok",
            "example": "google"
          },
          "displayDate": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "accountId": {
            "type": "string",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "Failed due to auth token"
          },
          "postId": {
            "type": "string",
            "example": "323534534435"
          },
          "publishedAt": {
            "type": "string",
            "example": "2021-06-22T05:32:49.463Z"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "example": "Sample Summary"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_PostMediaSchema"
            }
          },
          "status": {
            "type": "object",
            "description": "Status must be one of the following values: in_progress, draft, failed, published, scheduled, in_review, notification_sent, deleted",
            "example": "published"
          },
          "createdBy": {
            "type": "string",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "tags": {
            "description": "Tag Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_OgTagsSchema"
              }
            ]
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_FormatedApprovalDetails"
              }
            ]
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_TiktokPostSchema"
              }
            ]
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GMBPostSchema"
              }
            ]
          },
          "user": {
            "description": "User",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_PostUserSchema"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "error",
          "type"
        ]
      },
      "social_media_posting_PostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "posts": {
            "description": "Post Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_GetPostFormattedSchema"
            }
          },
          "count": {
            "type": "number",
            "example": 6
          }
        }
      },
      "social_media_posting_PostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Posts"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_PostSuccessfulResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_PostApprovalSchema": {
        "type": "object",
        "properties": {
          "approver": {
            "type": "string",
            "description": "Approver",
            "example": "iVrVJ2uoXNF0wzcBzgl5"
          },
          "requesterNote": {
            "type": "string",
            "description": "Requester Notes",
            "example": "Test suggestion"
          },
          "approverNote": {
            "type": "string",
            "description": "Approver Notes",
            "example": "Test suggestion"
          },
          "approvalStatus": {
            "type": "object",
            "description": "Approval Status must be one of the following values: pending, approved, rejected, not_required",
            "example": "approved"
          }
        }
      },
      "social_media_posting_CreatePostDTO": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "description": "Post Content \n The limitations of content as per the platforms is provided through the reference link in API description. The summary will be trimmed based on the limit",
            "example": "Hello World"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_PostMediaSchema"
            }
          },
          "status": {
            "type": "object",
            "description": "Status must be one of the following values: null, in_progress, draft, failed, published, scheduled, in_review, notification_sent, deleted",
            "example": "draft"
          },
          "scheduleDate": {
            "type": "string",
            "description": "Schedule Date"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By"
          },
          "followUpComment": {
            "type": "string",
            "description": "Follow Up Comment on platform. It is not allowed on Tiktok and GMB accounts and there is a limit of 280 charecters for twitter account",
            "example": "First comment"
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_OgTagsSchema"
              }
            ]
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_PostApprovalSchema"
              }
            ]
          },
          "scheduleTimeUpdated": {
            "type": "boolean",
            "description": "if schedule datetime is updated",
            "example": true
          },
          "tags": {
            "description": "Array of Tag Value",
            "example": [
              "65f151c99bc2bf3aaf970d72"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category Id",
            "example": "65f151c99bc2bf3aaf970d72"
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_TiktokPostSchema"
              }
            ]
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GMBPostSchema"
              }
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        },
        "required": [
          "type",
          "accountIds",
          "userId"
        ]
      },
      "social_media_posting_CreatePostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "post": {
            "description": "Post Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetPostFormattedSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_CreatePostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Created Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_CreatePostSuccessfulResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_GetPostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "post": {
            "description": "Post Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetPostFormattedSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_GetPostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetPostSuccessfulResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_PostCreateRequest": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "description": "Post Content \n The limitations of content as per the platforms is provided through the reference link in API description",
            "example": "Hello World"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_PostMediaSchema"
            }
          },
          "status": {
            "type": "object",
            "description": "Status must be one of the following values: in_progress, draft, failed, published, scheduled, in_review, notification_sent, deleted",
            "example": "draft"
          },
          "scheduleDate": {
            "type": "string",
            "description": "Schedule Date"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By"
          },
          "followUpComment": {
            "type": "string",
            "description": "Follow Up Comment on platform. It is not allowed on Tiktok and GMB accounts and there is a limit of 280 charecters for twitter account",
            "example": "First comment"
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_OgTagsSchema"
              }
            ]
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_PostApprovalSchema"
              }
            ]
          },
          "scheduleTimeUpdated": {
            "type": "boolean",
            "description": "if schedule datetime is updated",
            "example": true
          },
          "tags": {
            "description": "Array of Tag Value",
            "example": [
              "Tag1"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category Id"
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_TiktokPostSchema"
              }
            ]
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GMBPostSchema"
              }
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        },
        "required": [
          "type"
        ]
      },
      "social_media_posting_UpdatePostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Updated Post"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_DeletePostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "postId": {
            "type": "string"
          }
        }
      },
      "social_media_posting_DeletePostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_DeletePostSuccessfulResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_GetAccountSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "aF3KhyL8JIuBwzK3m7Ly_Lx1EI6YIgQYMQi0ytFXv_12554616564525983496"
          },
          "oauthId": {
            "type": "string",
            "example": "aF3KhyL8JIuBwzK3m7Ly"
          },
          "profileId": {
            "type": "string",
            "example": "aF3KhyL8JIuBwzK3m7Ly"
          },
          "name": {
            "type": "string",
            "example": "Sample Account"
          },
          "platform": {
            "type": "string",
            "description": "platform must be one of the following values: google, facebook, instagram, linkedin, twitter, tiktok",
            "example": "google"
          },
          "type": {
            "type": "string",
            "example": "location"
          },
          "expire": {
            "type": "string",
            "example": "2024-03-11T19:29:59.785Z"
          },
          "isExpired": {
            "type": "boolean",
            "example": false
          },
          "meta": {
            "type": "object",
            "example": {
              "hasGoogleUpdated": true,
              "canDelete": true
            }
          }
        }
      },
      "social_media_posting_GetGroupSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Group Id",
            "example": "6284c43d519161e96cc09c13"
          },
          "name": {
            "type": "string",
            "description": "name of group",
            "example": "Primary"
          },
          "accountIds": {
            "example": [
              "6494063f4260855c1c5776b5_mhoUgTPkz19vjF5Qu7Av_2774080328752823730"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name",
          "accountIds"
        ]
      },
      "social_media_posting_AccountsListResponseSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_GetAccountSchema"
            }
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_GetGroupSchema"
            }
          }
        }
      },
      "social_media_posting_AccountsListResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Accounts"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_AccountsListResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_DeleteAccountResponseSchema": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "id": {
            "type": "string",
            "description": "Id",
            "example": "65fac446d599990d1313c1dd"
          }
        }
      },
      "social_media_posting_LocationAndAccountDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_DeleteAccountResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_FacebookPageSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "name": {
            "type": "string",
            "example": "FB Page"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "isOwned": {
            "type": "boolean",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "social_media_posting_GetFacebookAccountsSchema": {
        "type": "object",
        "properties": {
          "pages": {
            "description": "Facebook Pages Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_FacebookPageSchema"
            }
          }
        }
      },
      "social_media_posting_GetFacebookAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Facebook Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetFacebookAccountsSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_AttachFBAccountDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "object",
            "example": "page"
          },
          "originId": {
            "type": "string",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string",
            "example": "https://storage.googleapis.com/2ad21ebc23/test"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_media_posting_SocialMediaFacebookAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "example": "facebook"
          },
          "type": {
            "type": "object",
            "description": "type value must be page",
            "example": "page"
          },
          "name": {
            "type": "string",
            "example": "Account Name"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_media_posting_SocialMediaFBAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Facebook Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_SocialMediaFacebookAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_InstagramAccountSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "idu37swmmLbA02zgqKPpxITe2"
          },
          "name": {
            "type": "string",
            "example": "Insta account"
          },
          "avatar": {
            "type": "string",
            "example": "avau37swmmLbA02zgqKPpxITe2"
          },
          "pageId": {
            "type": "string",
            "example": "pidu37swmmLbA02zgqKPpxITe2"
          },
          "isConnected": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "social_media_posting_GetInstagramAccountsSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "description": "Instagram Account Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_InstagramAccountSchema"
            }
          }
        }
      },
      "social_media_posting_GetInstagramAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Instagram Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetInstagramAccountsSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_AttachIGAccountDTO": {
        "type": "object",
        "properties": {
          "originId": {
            "type": "string",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string"
          },
          "pageId": {
            "type": "string",
            "example": "234234234242sd"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        },
        "required": [
          "pageId"
        ]
      },
      "social_media_posting_SocialMediaInstagramAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "example": "instagram"
          },
          "type": {
            "type": "object",
            "example": "profile"
          },
          "name": {
            "type": "string",
            "example": "Profile Name"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_media_posting_SocialMediaInstagramAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Instagram Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_SocialMediaInstagramAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_LinkedInPageSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Page ID",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "LinkedIn Page Name",
            "example": "Sample Name"
          },
          "avatar": {
            "type": "string",
            "description": "Profile Avatar url",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "urn": {
            "type": "string",
            "description": "URN"
          },
          "isConnected": {
            "type": "boolean",
            "description": "is connected to app",
            "example": true
          }
        }
      },
      "social_media_posting_LinkedInProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "Name of profile",
            "example": "Profile Name"
          },
          "avatar": {
            "type": "string",
            "description": "Profile avatar",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "urn": {
            "type": "string",
            "description": "URN"
          },
          "isConnected": {
            "type": "boolean",
            "description": "is connected to app",
            "example": true
          }
        }
      },
      "social_media_posting_GetLinkedInAccountSchema": {
        "type": "object",
        "properties": {
          "pages": {
            "description": "LinkedIn Pages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_LinkedInPageSchema"
            }
          },
          "profile": {
            "description": "LinkedIn Profile Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_LinkedInProfileSchema"
            }
          }
        }
      },
      "social_media_posting_GetLinkedInAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched LinkedIn Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetLinkedInAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_AttachLinkedinAccountDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page",
              "group",
              "profile",
              "location",
              "business"
            ]
          },
          "originId": {
            "type": "string",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string"
          },
          "urn": {
            "type": "string"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_media_posting_SocialMediaLinkedInAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "example": "linkedin"
          },
          "type": {
            "type": "object",
            "description": "type must be one of the following values: page, profile",
            "example": "profile"
          },
          "name": {
            "type": "string",
            "example": "Profile Name"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_media_posting_SocialMediaLinkedInAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added LinkedIn Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_SocialMediaLinkedInAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_TwitterProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of profile",
            "example": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal"
          },
          "name": {
            "type": "string",
            "description": "Name of profile",
            "example": "Twitter Account name"
          },
          "username": {
            "type": "string",
            "description": "Username of profile",
            "example": "sample_user"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar of profile",
            "example": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal"
          },
          "protected": {
            "type": "boolean",
            "description": "Is protected",
            "example": true
          },
          "verified": {
            "type": "boolean",
            "description": "Is verified",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "description": "Is connected",
            "example": true
          }
        }
      },
      "social_media_posting_GetTwitterAccountsSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Twitter Profile Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_TwitterProfileSchema"
            }
          }
        }
      },
      "social_media_posting_GetTwitterAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Twitter Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetTwitterAccountsSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_AttachTwitterAccountDTO": {
        "type": "object",
        "properties": {
          "originId": {
            "type": "string",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO"
          },
          "username": {
            "type": "string",
            "example": "user_name"
          },
          "avatar": {
            "type": "string"
          },
          "protected": {
            "type": "boolean",
            "example": true
          },
          "verified": {
            "type": "boolean",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_media_posting_SocialMediaTwitterAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "example": "twitter"
          },
          "type": {
            "type": "object",
            "example": "profile"
          },
          "name": {
            "type": "string",
            "example": "Profile Name"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_media_posting_SocialMediaTwitterAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Twitter Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_SocialMediaTwitterAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_UploadCSVDTO": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "social_media_posting_UploadFileResponseSchema": {
        "type": "object",
        "properties": {
          "filePath": {
            "type": "string",
            "example": "omaDY3RbWtTP511e/social-import/d23d68c2-82c0-1db6e2.csv"
          },
          "rowsCount": {
            "type": "number",
            "example": 6
          },
          "fileName": {
            "type": "string",
            "example": "CSV Import Sample - CSV Import Sample.csv"
          }
        }
      },
      "social_media_posting_UploadFileResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Uploaded CSV"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_UploadFileResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_SetAccountsDTO": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filePath": {
            "type": "string",
            "description": "File path",
            "example": "o6241QsiRwUIJHyjuhos/social-planner-import/a6d04a26-0401-4e52-8f48-dbb274050fab.csv"
          },
          "rowsCount": {
            "type": "number",
            "description": "Entires Count. rowcCount must be between 1 and number of posts in CSV",
            "example": 1
          },
          "fileName": {
            "type": "string",
            "description": "Name of file",
            "example": "test.csv"
          },
          "approver": {
            "type": "string",
            "example": "o6241QsiRwUIJHyjuhos"
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        },
        "required": [
          "accountIds",
          "filePath",
          "rowsCount",
          "fileName"
        ]
      },
      "social_media_posting_SetAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Accounts Set Successfully"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_CSVImportSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Csv Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "locationId",
            "example": "iVrVJ2uoXNF0wzcBzgl5"
          },
          "fileName": {
            "type": "string",
            "description": "File Name",
            "example": "sample.csv"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "file": {
            "type": "string",
            "description": "File path",
            "example": "File"
          },
          "status": {
            "type": "string",
            "description": "status must be one of the following values: pending, in_progress, completed, failed, in_review, importing, deleted",
            "example": "completed"
          },
          "count": {
            "type": "number",
            "description": "Posts count",
            "example": 5
          },
          "createdBy": {
            "type": "string",
            "description": "Created By Id",
            "example": "SDsdfdf45Dgs4w3ssss"
          },
          "traceId": {
            "type": "string",
            "description": "Trace Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "originId": {
            "type": "string",
            "description": "Origin Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "approver": {
            "type": "string",
            "description": "Approver Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Date Created",
            "example": "2023-08-02T00:00:00.000Z"
          }
        },
        "required": [
          "_id"
        ]
      },
      "social_media_posting_GetUploadStatusResponseSchema": {
        "type": "object",
        "properties": {
          "csvs": {
            "description": "CSV Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_CSVImportSchema"
              }
            ]
          },
          "count": {
            "type": "number",
            "example": 6
          }
        },
        "required": [
          "csvs",
          "count"
        ]
      },
      "social_media_posting_GetUploadStatusResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched CSV Upload Status"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetUploadStatusResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_OgImageSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Image url",
            "example": "https://knowledge.wharton.upenn.edu/wp-content/uploads/2019/07/072619_socialmedia_phonelikes-600x440.jpg"
          },
          "width": {
            "type": "number",
            "description": "Image width",
            "example": 400
          },
          "height": {
            "type": "number",
            "description": "Image height",
            "example": 400
          },
          "type": {
            "type": "string",
            "description": "Image Type",
            "example": "image/jpg"
          }
        }
      },
      "social_media_posting_IOgTagsSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Tag url",
            "example": "https://knowledge.wharton.upenn.edu/article/impact-of-social-media/"
          },
          "ogDescription": {
            "type": "string",
            "description": "Tag description",
            "example": "Social media as we know it has barely"
          },
          "ogImage": {
            "description": "Tag description",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_OgImageSchema"
              }
            ]
          },
          "ogTitle": {
            "type": "string",
            "description": "Tag Title",
            "example": "The Impact of Social Media: Is it Irreplaceable?"
          },
          "ogUrl": {
            "type": "string",
            "description": "Tag Url",
            "example": "https://knowledge.wharton.upenn.edu/article/impact-of-social-media/"
          },
          "ogSiteName": {
            "type": "string",
            "description": "Site Name",
            "example": "Knowledge at Wharton"
          },
          "error": {
            "type": "string",
            "description": "Og Tag Error",
            "example": "InvalidLink"
          }
        }
      },
      "social_media_posting_CSVMediaResponseSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Media Url",
            "example": "https://storage.googleapis.com/crm-media/omaDY3RbWtTP511e808O/media/38e53059-b92706571605.png"
          },
          "type": {
            "type": "string",
            "description": "Media Type",
            "example": "image/webp"
          },
          "size": {
            "type": "number",
            "description": "Media Size",
            "example": 18362
          },
          "width": {
            "type": "number",
            "description": "Media Width",
            "example": 500
          },
          "height": {
            "type": "number",
            "description": "Media Height",
            "example": 500
          },
          "aspectRatio": {
            "type": "number",
            "description": "Media Aspect Ratio",
            "example": 1.5
          },
          "duration": {
            "type": "number",
            "description": "Media Aspect Ratio",
            "example": 60
          },
          "format": {
            "type": "string",
            "description": "Media format",
            "example": "jpg"
          },
          "videoCodecName": {
            "type": "string",
            "description": "Video Codec",
            "example": "h264"
          },
          "frameRate": {
            "type": "number",
            "description": "Video Frame Rate",
            "example": 21
          },
          "audioCodecName": {
            "type": "string",
            "description": "Audio Codec",
            "example": "aac"
          },
          "audioChannels": {
            "type": "number",
            "description": "Audio Channel",
            "example": 1
          },
          "displayAspectRatio": {
            "type": "string",
            "description": "Display Aspect Ratio",
            "example": "250 : 167"
          },
          "frames": {
            "description": "List of frames",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedPoster": {
            "type": "number",
            "description": "Selected Poster",
            "example": 0
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "Image is larger than 10MB"
          },
          "instagramError": {
            "type": "string",
            "description": "Instagram media error. It can we one of the following errors: imageSize, imageType, imageAspectRatio, videoType, videoDuration, videoSize, videoAspectRatio, videoWidthHeight, audioCodec, audioCodecChannels, videoCodec, videoFrameRate",
            "example": "imageSize"
          },
          "gmbError": {
            "type": "string",
            "description": "GMB media error. It can be one of the following errors: imageSize, imageDimension, imageType",
            "example": "imageDimension"
          },
          "facebookError": {
            "type": "string",
            "description": "Facebook media error. It can be one of the following errors: imageSize, imageType, videoDuration, videoSize",
            "example": "videoDuration"
          },
          "linkedinError": {
            "type": "string",
            "description": "LinkedIn media error. It can be one of the following errors: imageSize, imageType, videoType, videoDuration, videoSize",
            "example": "imageType"
          },
          "twitterError": {
            "type": "string",
            "description": "Twitter media error. It can be one of the following errors: imageSize, videoType, videoDuration, videoSize",
            "example": "videoSize"
          },
          "tiktokError": {
            "type": "string",
            "description": "Tiktok media error. It can be one of the following errors: videoType, videoDuration, videoSize, videoWidthHeight, videoCodec, videoFrameRate",
            "example": "videoFrameRate"
          },
          "tiktokBusinessError": {
            "type": "string",
            "description": "Tikok Business media error. It can be one of the following errors: videoType, videoDuration, videoSize, videoWidthHeight, videoCodec, videoFrameRate",
            "example": "videoType"
          },
          "invalidError": {
            "type": "string",
            "description": "Media error. It can be one of the following values: imageSize, imageWidth",
            "example": "imageSize"
          }
        }
      },
      "social_media_posting_CSVPostSchema": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "link": {
            "description": "OG Tag",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_IOgTagsSchema"
              }
            ]
          },
          "medias": {
            "description": "Post Media List",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_CSVMediaResponseSchema"
            }
          },
          "scheduleDate": {
            "type": "string",
            "example": "2022-11-23T05:53:00.000Z"
          },
          "summary": {
            "type": "string",
            "example": "First post"
          },
          "followUpComment": {
            "type": "string",
            "example": "Initial Comment"
          },
          "type": {
            "type": "object",
            "example": "post"
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_TiktokPostSchema"
              }
            ]
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GMBPostSchema"
              }
            ]
          },
          "errorMessage": {
            "type": "string",
            "description": "Error Description"
          }
        }
      },
      "social_media_posting_GetCsvPostResponseSchema": {
        "type": "object",
        "properties": {
          "csv": {
            "description": "CSV Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_CSVImportSchema"
              }
            ]
          },
          "count": {
            "type": "number",
            "example": 6
          },
          "posts": {
            "description": "CSV Posts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_CSVPostSchema"
            }
          }
        }
      },
      "social_media_posting_GetCsvPostResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched CSV Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetCsvPostResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_CSVDefaultDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_media_posting_CsvPostStatusResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Updated Successfully"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_CsvResponse": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "Location Name"
          },
          "fileName": {
            "type": "string",
            "example": "File Name"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "file": {
            "type": "string",
            "example": "File"
          },
          "status": {
            "type": "object",
            "description": "status must be one of the following values: pending, in_progress, completed, failed, in_review, importing, deleted",
            "example": "completed"
          },
          "count": {
            "type": "number",
            "example": 5
          },
          "createdBy": {
            "type": "string",
            "example": "AccountId_SDsdfdf45Dgs4w3ssss"
          },
          "traceId": {
            "type": "string",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "originId": {
            "type": "string",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "approver": {
            "type": "string",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          }
        }
      },
      "social_media_posting_CSVResponseSchema": {
        "type": "object",
        "properties": {
          "csv": {
            "description": "CSV Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_CsvResponse"
              }
            ]
          }
        }
      },
      "social_media_posting_DeleteCsvResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_CSVResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_DeletePostResponseSchema": {
        "type": "object",
        "properties": {
          "postId": {
            "type": "string",
            "description": "Post Id"
          }
        },
        "required": [
          "postId"
        ]
      },
      "social_media_posting_DeletePostResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_DeletePostResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_TiktokProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "Name of account",
            "example": "Account Name"
          },
          "username": {
            "type": "string",
            "description": "Username of account",
            "example": "User_name"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar of profile account",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "verified": {
            "type": "boolean",
            "description": "Is verified",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "description": "Is connected",
            "example": true
          },
          "type": {
            "type": "object",
            "description": "Tiktok Account Type must be one of the following values: business, profile",
            "example": "BUSINESS"
          }
        }
      },
      "social_media_posting_GetTiktokAccountSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Tiktok Business Account",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_TiktokProfileSchema"
            }
          }
        }
      },
      "social_media_posting_GetTiktokAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tiktok Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetTiktokAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_AttachTiktokAccountDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page",
              "group",
              "profile",
              "location",
              "business"
            ]
          },
          "originId": {
            "type": "string",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string"
          },
          "verified": {
            "type": "boolean",
            "example": true
          },
          "username": {
            "type": "string",
            "example": "JOHN_DEO"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_media_posting_SocialMediaTiktokAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "example": "tiktok"
          },
          "type": {
            "type": "object",
            "description": "type must be one of the following values: profile, business",
            "example": "profile"
          },
          "name": {
            "type": "string",
            "example": "Account Name"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_media_posting_SocialMediaTiktokAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Tiktok Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_SocialMediaTiktokAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_GetTiktokBusinessAccountSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Tiktok Profile",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_TiktokProfileSchema"
            }
          }
        }
      },
      "social_media_posting_GetTiktokBusinessAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tiktok Business Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetTiktokBusinessAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_CategorySchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Category Name",
            "example": "Primary"
          },
          "primaryColor": {
            "type": "string",
            "description": "Color For Category",
            "example": "#FFFFFF"
          },
          "secondaryColor": {
            "type": "string",
            "description": "Secondary Color",
            "example": "#FFFFFF"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "_id": {
            "type": "string",
            "description": "ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By User",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted Value",
            "example": false
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "social_media_posting_GetByLocationIdResponseSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Count",
            "example": 3
          },
          "categories": {
            "description": "Meta Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_CategorySchema"
            }
          }
        },
        "required": [
          "count",
          "categories"
        ]
      },
      "social_media_posting_GetByLocationIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Categories by Location ID"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetByLocationIdResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_GetByIdResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Category Name",
            "example": "Primary"
          },
          "primaryColor": {
            "type": "string",
            "description": "Color For Category",
            "example": "#32a852"
          },
          "secondaryColor": {
            "type": "string",
            "description": "Secondary Color",
            "example": "#32a852"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "_id": {
            "type": "string",
            "description": "ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By User",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted Value",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Category not found"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "social_media_posting_GetCategorySchema": {
        "type": "object",
        "properties": {
          "category": {
            "description": "Category Schema",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetByIdResponseSchema"
              }
            ]
          }
        }
      },
      "social_media_posting_GetByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Category"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetCategorySchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_SocialMediaTagSchema": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "description": "Tag Name",
            "example": "Primary Tag"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "_id": {
            "type": "string",
            "description": "ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By User Id",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted boolean value",
            "example": false
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          }
        }
      },
      "social_media_posting_GetTagsByLocationIdResponseSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Tags Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_SocialMediaTagSchema"
            }
          },
          "count": {
            "type": "number",
            "description": "Count",
            "example": 3
          }
        }
      },
      "social_media_posting_GetTagsByLocationIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tags by Location ID"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetTagsByLocationIdResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_UpdateTagDTO": {
        "type": "object",
        "properties": {
          "tagIds": {
            "description": "Array of Tag Ids",
            "example": [
              "65fbdcfecc884f07e645ea8b"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tagIds"
        ]
      },
      "social_media_posting_GetTagsByIdResponseSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Social Media Tag Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_media_posting_SocialMediaTagSchema"
            }
          },
          "count": {
            "type": "number",
            "description": "Count",
            "example": 3
          }
        },
        "required": [
          "tags"
        ]
      },
      "social_media_posting_GetTagsByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tags by Tag IDs"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_media_posting_GetTagsByIdResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_media_posting_DeletePostsDto": {
        "type": "object",
        "properties": {
          "postIds": {
            "description": "Requested Results",
            "example": [
              "662791ee3f216822d7da0c8c"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "social_media_posting_BulkDeletePostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "deletedCount": {
            "type": "number"
          }
        }
      },
      "social_media_posting_BulkDeleteResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Posts Deleted Successfully"
          },
          "results": {
            "description": "Message and deleted count",
            "example": {
              "message": "Posts deleted successfully",
              "deletedCount": 10
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message",
          "results"
        ]
      },
      "store_ShippingZoneCountryStateDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "State code",
            "enum": [
              "AL",
              "AK",
              "AS",
              "AZ",
              "AR",
              "AA",
              "AE",
              "AP",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FM",
              "FL",
              "GA",
              "GU",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MH",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "MP",
              "OH",
              "OK",
              "OR",
              "PW",
              "PA",
              "PR",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "MB",
              "NB",
              "NL",
              "NT",
              "NS",
              "NU",
              "ON",
              "PE",
              "QC",
              "SK",
              "YT",
              "BA",
              "CT",
              "CC",
              "CH",
              "CB",
              "CN",
              "ER",
              "FO",
              "JY",
              "LP",
              "LR",
              "MZ",
              "MN",
              "NQ",
              "RN",
              "SA",
              "SJ",
              "SL",
              "SC",
              "SF",
              "SE",
              "TF",
              "TU",
              "ACT",
              "NSW",
              "NT",
              "QLD",
              "SA",
              "TAS",
              "VIC",
              "WA",
              "AC",
              "AL",
              "AM",
              "AP",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MG",
              "MS",
              "MT",
              "PA",
              "PB",
              "PE",
              "PI",
              "PR",
              "RJ",
              "RN",
              "RO",
              "RR",
              "RS",
              "SC",
              "SE",
              "SP",
              "TO",
              "AI",
              "AN",
              "AP",
              "AT",
              "BI",
              "CO",
              "AR",
              "LI",
              "LL",
              "LR",
              "MA",
              "ML",
              "RM",
              "TA",
              "VS",
              "NB",
              "AMA",
              "ANT",
              "ARA",
              "ATL",
              "BOL",
              "BOY",
              "CAL",
              "CAQ",
              "CAS",
              "CAU",
              "CES",
              "CHO",
              "CUN",
              "COR",
              "GUA",
              "GUV",
              "HUI",
              "LAG",
              "MAG",
              "MET",
              "NAR",
              "NSA",
              "PUT",
              "QUI",
              "RIS",
              "SAP",
              "SAN",
              "SUC",
              "TOL",
              "VAC",
              "VAU",
              "VID",
              "CR-A",
              "CR-C",
              "CR-G",
              "CR-H",
              "CR-L",
              "CR-P",
              "CR-SJ",
              "GT-16",
              "GT-15",
              "GT-04",
              "GT-20",
              "GT-02",
              "GT-05",
              "GT-01",
              "GT-13",
              "GT-18",
              "GT-21",
              "GT-22",
              "GT-17",
              "GT-09",
              "GT-14",
              "GT-11",
              "GT-03",
              "GT-12",
              "GT-06",
              "GT-07",
              "GT-10",
              "GT-08",
              "GT-19",
              "HK",
              "KL",
              "NT",
              "AN",
              "AP",
              "AR",
              "AS",
              "BR",
              "CH",
              "CG",
              "DN",
              "DD",
              "DL",
              "GA",
              "GJ",
              "HR",
              "HP",
              "JK",
              "JH",
              "KA",
              "KL",
              "LA",
              "LD",
              "MP",
              "MH",
              "MN",
              "ML",
              "MZ",
              "NL",
              "OR",
              "PY",
              "PB",
              "RJ",
              "SK",
              "TN",
              "TS",
              "TR",
              "UP",
              "UK",
              "WB",
              "CW",
              "CN",
              "CE",
              "CO",
              "DL",
              "D",
              "G",
              "KY",
              "KE",
              "KK",
              "LS",
              "LM",
              "LK",
              "LD",
              "LH",
              "MO",
              "MH",
              "MN",
              "OY",
              "RN",
              "SO",
              "TA",
              "WD",
              "WH",
              "WX",
              "WW",
              "AG",
              "AL",
              "AN",
              "AO",
              "AR",
              "AP",
              "AT",
              "AV",
              "BA",
              "BT",
              "BL",
              "BN",
              "BG",
              "BI",
              "BO",
              "BZ",
              "BS",
              "BR",
              "CA",
              "CL",
              "CB",
              "CI",
              "CE",
              "CT",
              "CZ",
              "CH",
              "CO",
              "CS",
              "CR",
              "KR",
              "CN",
              "EN",
              "FM",
              "FE",
              "FI",
              "FG",
              "FC",
              "FR",
              "GE",
              "GO",
              "GR",
              "IM",
              "IS",
              "AQ",
              "SP",
              "LT",
              "LE",
              "LC",
              "LI",
              "LO",
              "LU",
              "MC",
              "MN",
              "MS",
              "MT",
              "VS",
              "ME",
              "MI",
              "MO",
              "MB",
              "NA",
              "NO",
              "NU",
              "OG",
              "OT",
              "OR",
              "PD",
              "PA",
              "PR",
              "PV",
              "PG",
              "PU",
              "PE",
              "PC",
              "PI",
              "PT",
              "PN",
              "PZ",
              "PO",
              "RG",
              "RA",
              "RC",
              "RE",
              "RI",
              "RN",
              "RM",
              "RO",
              "SA",
              "SS",
              "SV",
              "SI",
              "SR",
              "SO",
              "TA",
              "TE",
              "TR",
              "TO",
              "TP",
              "TN",
              "TV",
              "TS",
              "UD",
              "VA",
              "VE",
              "VB",
              "VC",
              "VR",
              "VV",
              "VI",
              "VT",
              "JP-23",
              "JP-05",
              "JP-02",
              "JP-12",
              "JP-38",
              "JP-18",
              "JP-40",
              "JP-07",
              "JP-21",
              "JP-10",
              "JP-34",
              "JP-01",
              "JP-28",
              "JP-08",
              "JP-17",
              "JP-03",
              "JP-37",
              "JP-46",
              "JP-14",
              "JP-39",
              "JP-43",
              "JP-26",
              "JP-24",
              "JP-04",
              "JP-45",
              "JP-20",
              "JP-42",
              "JP-29",
              "JP-15",
              "JP-44",
              "JP-33",
              "JP-47",
              "JP-27",
              "JP-41",
              "JP-11",
              "JP-25",
              "JP-32",
              "JP-22",
              "JP-09",
              "JP-36",
              "JP-13",
              "JP-31",
              "JP-16",
              "JP-30",
              "JP-06",
              "JP-35",
              "JP-19",
              "JHR",
              "KDH",
              "KTN",
              "KUL",
              "LBN",
              "MLK",
              "NSN",
              "PHG",
              "PNG",
              "PRK",
              "PLS",
              "PJY",
              "SBH",
              "SWK",
              "SGR",
              "TRG",
              "AGU",
              "BCN",
              "BCS",
              "CAM",
              "CHP",
              "CHH",
              "CMX",
              "COA",
              "COL",
              "DUR",
              "GUA",
              "GRO",
              "HID",
              "JAL",
              "MIC",
              "MOR",
              "MEX",
              "NAY",
              "NLE",
              "OAX",
              "PUE",
              "QUE",
              "ROO",
              "SLP",
              "SIN",
              "SON",
              "TAB",
              "TAM",
              "TLA",
              "VER",
              "YUC",
              "ZAC",
              "AUK",
              "BOP",
              "CAN",
              "CIT",
              "GIS",
              "HKB",
              "MWT",
              "MBH",
              "NSN",
              "NTL",
              "OTA",
              "STL",
              "TKI",
              "TAS",
              "WKO",
              "WGN",
              "WTC",
              "JK",
              "BA",
              "GB",
              "IS",
              "KP",
              "PB",
              "SD",
              "AMA",
              "ANC",
              "APU",
              "ARE",
              "AYA",
              "CAJ",
              "CAL",
              "CUS",
              "HUV",
              "HUC",
              "ICA",
              "JUN",
              "LAL",
              "LAM",
              "LIM",
              "LOR",
              "MDD",
              "MOQ",
              "PAS",
              "PIU",
              "PUN",
              "SAM",
              "TAC",
              "TUM",
              "UCA",
              "PH-ABR",
              "PH-AGN",
              "PH-AGS",
              "PH-AKL",
              "PH-ALB",
              "PH-ANT",
              "PH-APA",
              "PH-AUR",
              "PH-BAS",
              "PH-BAN",
              "PH-BTN",
              "PH-BTG",
              "PH-BEN",
              "PH-BIL",
              "PH-BOH",
              "PH-BUK",
              "PH-BUL",
              "PH-CAG",
              "PH-CAN",
              "PH-CAS",
              "PH-CAM",
              "PH-CAP",
              "PH-CAT",
              "PH-CAV",
              "PH-CEB",
              "PH-NCO",
              "PH-DAO",
              "PH-DAV",
              "PH-DAS",
              "PH-EAS",
              "PH-GUI",
              "PH-IFU",
              "PH-ILN",
              "PH-ILS",
              "PH-ILI",
              "PH-ISA",
              "PH-KAL",
              "PH-LUN",
              "PH-LAG",
              "PH-LAN",
              "PH-LAS",
              "PH-LEY",
              "PH-MAG",
              "PH-MAD",
              "PH-MAS",
              "PH-00",
              "PH-MSC",
              "PH-MSR",
              "PH-MOU",
              "PH-NEC",
              "PH-NER",
              "PH-NSA",
              "PH-NUE",
              "PH-NUV",
              "PH-MDC",
              "PH-MDR",
              "PH-PLW",
              "PH-PAM",
              "PH-PAN",
              "PH-QUE",
              "PH-QUI",
              "PH-RIZ",
              "PH-ROM",
              "PH-WSA",
              "PH-SAR",
              "PH-SIG",
              "PH-SOR",
              "PH-SCO",
              "PH-SLE",
              "PH-SUK",
              "PH-SLU",
              "PH-SUN",
              "PH-SUR",
              "PH-TAR",
              "PH-TAW",
              "PH-ZMB",
              "PH-ZAN",
              "PH-ZAS",
              "PH-ZSI",
              "PT-20",
              "PT-01",
              "PT-02",
              "PT-03",
              "PT-04",
              "PT-05",
              "PT-06",
              "PT-07",
              "PT-08",
              "PT-09",
              "PT-10",
              "PT-11",
              "PT-30",
              "PT-12",
              "PT-13",
              "PT-14",
              "PT-15",
              "PT-16",
              "PT-17",
              "PT-18",
              "AB",
              "AR",
              "AG",
              "BC",
              "BH",
              "BN",
              "BT",
              "BR",
              "BV",
              "B",
              "BZ",
              "CL",
              "CS",
              "CJ",
              "CT",
              "CV",
              "DB",
              "DJ",
              "GL",
              "GR",
              "GJ",
              "HR",
              "HD",
              "IL",
              "IS",
              "IF",
              "MM",
              "MH",
              "MS",
              "NT",
              "OT",
              "PH",
              "SJ",
              "SM",
              "SB",
              "SV",
              "TR",
              "TM",
              "TL",
              "VL",
              "VS",
              "VN",
              "KR-26",
              "KR-43",
              "KR-44",
              "KR-27",
              "KR-30",
              "KR-42",
              "KR-29",
              "KR-47",
              "KR-41",
              "KR-48",
              "KR-28",
              "KR-49",
              "KR-45",
              "KR-46",
              "KR-50",
              "KR-11",
              "KR-31",
              "C",
              "VI",
              "AB",
              "A",
              "AL",
              "O",
              "AV",
              "BA",
              "PM",
              "B",
              "BU",
              "CC",
              "CA",
              "S",
              "CS",
              "CE",
              "CR",
              "CO",
              "CU",
              "GI",
              "GR",
              "GU",
              "SS",
              "H",
              "HU",
              "J",
              "LO",
              "GC",
              "LE",
              "L",
              "LU",
              "M",
              "MA",
              "ML",
              "MU",
              "NA",
              "OR",
              "P",
              "PO",
              "SA",
              "TF",
              "SG",
              "SE",
              "SO",
              "T",
              "TE",
              "TO",
              "V",
              "VA",
              "BI",
              "ZA",
              "Z",
              "AZ",
              "AJ",
              "DU",
              "FU",
              "RK",
              "SH",
              "UQ",
              "BFP",
              "ENG",
              "NIR",
              "SCT",
              "WLS",
              "AR",
              "CA",
              "CL",
              "CO",
              "DU",
              "FS",
              "FD",
              "LA",
              "MA",
              "MO",
              "PA",
              "RN",
              "RV",
              "RO",
              "SA",
              "SJ",
              "SO",
              "TA",
              "TT"
            ],
            "example": "VA"
          }
        },
        "required": [
          "code"
        ]
      },
      "store_ShippingZoneCountryDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Country code",
            "enum": [
              [
                "US",
                "CA",
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "KH",
                "CM",
                "CV",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "XK",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "AN",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "KR",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            ],
            "example": "US"
          },
          "states": {
            "description": "List of states that are available. If states is empty, then all states are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingZoneCountryStateDto"
            }
          }
        },
        "required": [
          "code"
        ]
      },
      "store_CreateShippingZoneDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "countries": {
            "description": "List of countries that are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingZoneCountryDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "countries"
        ]
      },
      "store_ShippingCarrierServiceDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier service",
            "example": "Priority Mail Express International"
          },
          "value": {
            "type": "string",
            "description": "Value of the shipping carrier service",
            "example": "PriorityMailExpressInternational"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "store_ShippingRateSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "conditionType": {
            "type": "string",
            "description": "Type of condition to provide the conditional pricing",
            "enum": [
              "none",
              "price",
              "weight"
            ],
            "example": "price"
          },
          "minCondition": {
            "type": "number",
            "description": "Minimum condition for applying this price. set 0 or null if there is no minimum",
            "example": 99.99
          },
          "maxCondition": {
            "type": "number",
            "description": "Maximum condition for applying this price. set 0 or null if there is no maximum",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "shippingZoneId": {
            "type": "string",
            "description": "The unique identifier for the shipping zone.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "amount",
          "conditionType",
          "minCondition",
          "maxCondition",
          "shippingCarrierId",
          "_id",
          "shippingZoneId",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_ShippingZoneSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "countries": {
            "description": "List of countries that are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingZoneCountryDto"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "shippingRates": {
            "description": "Array of shipping rates under this shipping zone",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingRateSchema"
            }
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "countries",
          "_id",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_CreateShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingZoneSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_ListShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 20
          },
          "data": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingZoneSchema"
            }
          }
        },
        "required": [
          "total",
          "data"
        ]
      },
      "store_GetShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingZoneSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_UpdateShippingZoneDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "countries": {
            "description": "List of countries that are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingZoneCountryDto"
            }
          }
        }
      },
      "store_UpdateShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingZoneSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_DeleteShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "store_ContactAddress": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the customer",
            "example": "John Doe"
          },
          "companyName": {
            "type": "string",
            "description": "Name of the Company",
            "example": "ABC Company"
          },
          "addressLine1": {
            "type": "string",
            "description": "Address line 1 of the customer",
            "example": "123 Main St."
          },
          "country": {
            "type": "string",
            "description": "Country code of the customer",
            "enum": [
              "US",
              "CA",
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "KR",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "example": "US"
          },
          "state": {
            "type": "string",
            "description": "State code of the customer",
            "enum": [
              "AL",
              "AK",
              "AS",
              "AZ",
              "AR",
              "AA",
              "AE",
              "AP",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FM",
              "FL",
              "GA",
              "GU",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MH",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "MP",
              "OH",
              "OK",
              "OR",
              "PW",
              "PA",
              "PR",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "MB",
              "NB",
              "NL",
              "NT",
              "NS",
              "NU",
              "ON",
              "PE",
              "QC",
              "SK",
              "YT",
              "BA",
              "CT",
              "CC",
              "CH",
              "CB",
              "CN",
              "ER",
              "FO",
              "JY",
              "LP",
              "LR",
              "MZ",
              "MN",
              "NQ",
              "RN",
              "SA",
              "SJ",
              "SL",
              "SC",
              "SF",
              "SE",
              "TF",
              "TU",
              "ACT",
              "NSW",
              "NT",
              "QLD",
              "SA",
              "TAS",
              "VIC",
              "WA",
              "AC",
              "AL",
              "AM",
              "AP",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MG",
              "MS",
              "MT",
              "PA",
              "PB",
              "PE",
              "PI",
              "PR",
              "RJ",
              "RN",
              "RO",
              "RR",
              "RS",
              "SC",
              "SE",
              "SP",
              "TO",
              "AI",
              "AN",
              "AP",
              "AT",
              "BI",
              "CO",
              "AR",
              "LI",
              "LL",
              "LR",
              "MA",
              "ML",
              "RM",
              "TA",
              "VS",
              "NB",
              "AMA",
              "ANT",
              "ARA",
              "ATL",
              "BOL",
              "BOY",
              "CAL",
              "CAQ",
              "CAS",
              "CAU",
              "CES",
              "CHO",
              "CUN",
              "COR",
              "GUA",
              "GUV",
              "HUI",
              "LAG",
              "MAG",
              "MET",
              "NAR",
              "NSA",
              "PUT",
              "QUI",
              "RIS",
              "SAP",
              "SAN",
              "SUC",
              "TOL",
              "VAC",
              "VAU",
              "VID",
              "CR-A",
              "CR-C",
              "CR-G",
              "CR-H",
              "CR-L",
              "CR-P",
              "CR-SJ",
              "GT-16",
              "GT-15",
              "GT-04",
              "GT-20",
              "GT-02",
              "GT-05",
              "GT-01",
              "GT-13",
              "GT-18",
              "GT-21",
              "GT-22",
              "GT-17",
              "GT-09",
              "GT-14",
              "GT-11",
              "GT-03",
              "GT-12",
              "GT-06",
              "GT-07",
              "GT-10",
              "GT-08",
              "GT-19",
              "HK",
              "KL",
              "NT",
              "AN",
              "AP",
              "AR",
              "AS",
              "BR",
              "CH",
              "CG",
              "DN",
              "DD",
              "DL",
              "GA",
              "GJ",
              "HR",
              "HP",
              "JK",
              "JH",
              "KA",
              "KL",
              "LA",
              "LD",
              "MP",
              "MH",
              "MN",
              "ML",
              "MZ",
              "NL",
              "OR",
              "PY",
              "PB",
              "RJ",
              "SK",
              "TN",
              "TS",
              "TR",
              "UP",
              "UK",
              "WB",
              "CW",
              "CN",
              "CE",
              "CO",
              "DL",
              "D",
              "G",
              "KY",
              "KE",
              "KK",
              "LS",
              "LM",
              "LK",
              "LD",
              "LH",
              "MO",
              "MH",
              "MN",
              "OY",
              "RN",
              "SO",
              "TA",
              "WD",
              "WH",
              "WX",
              "WW",
              "AG",
              "AL",
              "AN",
              "AO",
              "AR",
              "AP",
              "AT",
              "AV",
              "BA",
              "BT",
              "BL",
              "BN",
              "BG",
              "BI",
              "BO",
              "BZ",
              "BS",
              "BR",
              "CA",
              "CL",
              "CB",
              "CI",
              "CE",
              "CT",
              "CZ",
              "CH",
              "CO",
              "CS",
              "CR",
              "KR",
              "CN",
              "EN",
              "FM",
              "FE",
              "FI",
              "FG",
              "FC",
              "FR",
              "GE",
              "GO",
              "GR",
              "IM",
              "IS",
              "AQ",
              "SP",
              "LT",
              "LE",
              "LC",
              "LI",
              "LO",
              "LU",
              "MC",
              "MN",
              "MS",
              "MT",
              "VS",
              "ME",
              "MI",
              "MO",
              "MB",
              "NA",
              "NO",
              "NU",
              "OG",
              "OT",
              "OR",
              "PD",
              "PA",
              "PR",
              "PV",
              "PG",
              "PU",
              "PE",
              "PC",
              "PI",
              "PT",
              "PN",
              "PZ",
              "PO",
              "RG",
              "RA",
              "RC",
              "RE",
              "RI",
              "RN",
              "RM",
              "RO",
              "SA",
              "SS",
              "SV",
              "SI",
              "SR",
              "SO",
              "TA",
              "TE",
              "TR",
              "TO",
              "TP",
              "TN",
              "TV",
              "TS",
              "UD",
              "VA",
              "VE",
              "VB",
              "VC",
              "VR",
              "VV",
              "VI",
              "VT",
              "JP-23",
              "JP-05",
              "JP-02",
              "JP-12",
              "JP-38",
              "JP-18",
              "JP-40",
              "JP-07",
              "JP-21",
              "JP-10",
              "JP-34",
              "JP-01",
              "JP-28",
              "JP-08",
              "JP-17",
              "JP-03",
              "JP-37",
              "JP-46",
              "JP-14",
              "JP-39",
              "JP-43",
              "JP-26",
              "JP-24",
              "JP-04",
              "JP-45",
              "JP-20",
              "JP-42",
              "JP-29",
              "JP-15",
              "JP-44",
              "JP-33",
              "JP-47",
              "JP-27",
              "JP-41",
              "JP-11",
              "JP-25",
              "JP-32",
              "JP-22",
              "JP-09",
              "JP-36",
              "JP-13",
              "JP-31",
              "JP-16",
              "JP-30",
              "JP-06",
              "JP-35",
              "JP-19",
              "JHR",
              "KDH",
              "KTN",
              "KUL",
              "LBN",
              "MLK",
              "NSN",
              "PHG",
              "PNG",
              "PRK",
              "PLS",
              "PJY",
              "SBH",
              "SWK",
              "SGR",
              "TRG",
              "AGU",
              "BCN",
              "BCS",
              "CAM",
              "CHP",
              "CHH",
              "CMX",
              "COA",
              "COL",
              "DUR",
              "GUA",
              "GRO",
              "HID",
              "JAL",
              "MIC",
              "MOR",
              "MEX",
              "NAY",
              "NLE",
              "OAX",
              "PUE",
              "QUE",
              "ROO",
              "SLP",
              "SIN",
              "SON",
              "TAB",
              "TAM",
              "TLA",
              "VER",
              "YUC",
              "ZAC",
              "AUK",
              "BOP",
              "CAN",
              "CIT",
              "GIS",
              "HKB",
              "MWT",
              "MBH",
              "NSN",
              "NTL",
              "OTA",
              "STL",
              "TKI",
              "TAS",
              "WKO",
              "WGN",
              "WTC",
              "JK",
              "BA",
              "GB",
              "IS",
              "KP",
              "PB",
              "SD",
              "AMA",
              "ANC",
              "APU",
              "ARE",
              "AYA",
              "CAJ",
              "CAL",
              "CUS",
              "HUV",
              "HUC",
              "ICA",
              "JUN",
              "LAL",
              "LAM",
              "LIM",
              "LOR",
              "MDD",
              "MOQ",
              "PAS",
              "PIU",
              "PUN",
              "SAM",
              "TAC",
              "TUM",
              "UCA",
              "PH-ABR",
              "PH-AGN",
              "PH-AGS",
              "PH-AKL",
              "PH-ALB",
              "PH-ANT",
              "PH-APA",
              "PH-AUR",
              "PH-BAS",
              "PH-BAN",
              "PH-BTN",
              "PH-BTG",
              "PH-BEN",
              "PH-BIL",
              "PH-BOH",
              "PH-BUK",
              "PH-BUL",
              "PH-CAG",
              "PH-CAN",
              "PH-CAS",
              "PH-CAM",
              "PH-CAP",
              "PH-CAT",
              "PH-CAV",
              "PH-CEB",
              "PH-NCO",
              "PH-DAO",
              "PH-DAV",
              "PH-DAS",
              "PH-EAS",
              "PH-GUI",
              "PH-IFU",
              "PH-ILN",
              "PH-ILS",
              "PH-ILI",
              "PH-ISA",
              "PH-KAL",
              "PH-LUN",
              "PH-LAG",
              "PH-LAN",
              "PH-LAS",
              "PH-LEY",
              "PH-MAG",
              "PH-MAD",
              "PH-MAS",
              "PH-00",
              "PH-MSC",
              "PH-MSR",
              "PH-MOU",
              "PH-NEC",
              "PH-NER",
              "PH-NSA",
              "PH-NUE",
              "PH-NUV",
              "PH-MDC",
              "PH-MDR",
              "PH-PLW",
              "PH-PAM",
              "PH-PAN",
              "PH-QUE",
              "PH-QUI",
              "PH-RIZ",
              "PH-ROM",
              "PH-WSA",
              "PH-SAR",
              "PH-SIG",
              "PH-SOR",
              "PH-SCO",
              "PH-SLE",
              "PH-SUK",
              "PH-SLU",
              "PH-SUN",
              "PH-SUR",
              "PH-TAR",
              "PH-TAW",
              "PH-ZMB",
              "PH-ZAN",
              "PH-ZAS",
              "PH-ZSI",
              "PT-20",
              "PT-01",
              "PT-02",
              "PT-03",
              "PT-04",
              "PT-05",
              "PT-06",
              "PT-07",
              "PT-08",
              "PT-09",
              "PT-10",
              "PT-11",
              "PT-30",
              "PT-12",
              "PT-13",
              "PT-14",
              "PT-15",
              "PT-16",
              "PT-17",
              "PT-18",
              "AB",
              "AR",
              "AG",
              "BC",
              "BH",
              "BN",
              "BT",
              "BR",
              "BV",
              "B",
              "BZ",
              "CL",
              "CS",
              "CJ",
              "CT",
              "CV",
              "DB",
              "DJ",
              "GL",
              "GR",
              "GJ",
              "HR",
              "HD",
              "IL",
              "IS",
              "IF",
              "MM",
              "MH",
              "MS",
              "NT",
              "OT",
              "PH",
              "SJ",
              "SM",
              "SB",
              "SV",
              "TR",
              "TM",
              "TL",
              "VL",
              "VS",
              "VN",
              "KR-26",
              "KR-43",
              "KR-44",
              "KR-27",
              "KR-30",
              "KR-42",
              "KR-29",
              "KR-47",
              "KR-41",
              "KR-48",
              "KR-28",
              "KR-49",
              "KR-45",
              "KR-46",
              "KR-50",
              "KR-11",
              "KR-31",
              "C",
              "VI",
              "AB",
              "A",
              "AL",
              "O",
              "AV",
              "BA",
              "PM",
              "B",
              "BU",
              "CC",
              "CA",
              "S",
              "CS",
              "CE",
              "CR",
              "CO",
              "CU",
              "GI",
              "GR",
              "GU",
              "SS",
              "H",
              "HU",
              "J",
              "LO",
              "GC",
              "LE",
              "L",
              "LU",
              "M",
              "MA",
              "ML",
              "MU",
              "NA",
              "OR",
              "P",
              "PO",
              "SA",
              "TF",
              "SG",
              "SE",
              "SO",
              "T",
              "TE",
              "TO",
              "V",
              "VA",
              "BI",
              "ZA",
              "Z",
              "AZ",
              "AJ",
              "DU",
              "FU",
              "RK",
              "SH",
              "UQ",
              "BFP",
              "ENG",
              "NIR",
              "SCT",
              "WLS",
              "AR",
              "CA",
              "CL",
              "CO",
              "DU",
              "FS",
              "FD",
              "LA",
              "MA",
              "MO",
              "PA",
              "RN",
              "RV",
              "RO",
              "SA",
              "SJ",
              "SO",
              "TA",
              "TT"
            ],
            "example": "US"
          },
          "city": {
            "type": "string",
            "description": "City of the customer",
            "example": "New York"
          },
          "zip": {
            "type": "string",
            "description": "Zip code of the customer",
            "example": "12345"
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the customer",
            "example": "1234567890"
          },
          "email": {
            "type": "string",
            "description": "Email of the customer",
            "example": "abu@example.com"
          }
        },
        "required": [
          "country"
        ]
      },
      "store_OrderSource": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Source of order",
            "enum": [
              "funnel",
              "website",
              "invoice",
              "calendar",
              "text2Pay",
              "document_contracts",
              "membership",
              "mobile_app",
              "communities",
              "point_of_sale",
              "manual",
              "form",
              "survey",
              "payment_link",
              "external"
            ],
            "example": "website"
          },
          "subType": {
            "type": "string",
            "description": "Source subtype of order",
            "enum": [
              "one_step_order_form",
              "two_step_order_form",
              "upsell",
              "tap_to_pay",
              "card_payment",
              "store",
              "contact_view",
              "email_campaign",
              "payments_dashboard",
              "shopify",
              "subscription_view",
              "store_upsell",
              "woocommerce",
              "service",
              "meeting",
              "imported_csv",
              "qr_code"
            ],
            "example": "store"
          }
        },
        "required": [
          "type"
        ]
      },
      "store_ProductItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of product"
          },
          "qty": {
            "type": "number",
            "description": "No of quantities"
          }
        },
        "required": [
          "id",
          "qty"
        ]
      },
      "store_GetAvailableShippingRates": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "country": {
            "type": "string",
            "description": "Country code of the customer",
            "enum": [
              "US",
              "CA",
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "KR",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "example": "US"
          },
          "address": {
            "description": "Address of the customer",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ContactAddress"
              }
            ]
          },
          "amountAvailable": {
            "type": "string",
            "description": "it will not calculate the order amount form backend if it is true",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "example": "US"
          },
          "totalOrderAmount": {
            "type": "number",
            "description": "The amount of the price. ( min: 0.01 )",
            "example": 99.99
          },
          "weightAvailable": {
            "type": "boolean",
            "description": "Flag to pass when the weight is already calculated and should not calculate again",
            "example": true
          },
          "totalOrderWeight": {
            "type": "number",
            "description": "Estimated weight of the order calculated from the order creation side in kg(s)",
            "example": 10
          },
          "source": {
            "description": "Source of the order",
            "example": {
              "type": "order",
              "subType": "store"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/store_OrderSource"
              }
            ]
          },
          "products": {
            "description": "An array of price IDs and quantity",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ProductItem"
            }
          },
          "couponCode": {
            "type": "string",
            "description": "Coupon code",
            "example": "TEST"
          }
        },
        "required": [
          "altId",
          "altType",
          "country",
          "totalOrderAmount",
          "totalOrderWeight",
          "source",
          "products"
        ]
      },
      "store_AvailableShippingRate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "shippingZoneId": {
            "type": "string",
            "description": "The unique identifier for the shipping zone.",
            "example": "655b33a82209e60b6adb87a5"
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "shippingCarrierId",
          "_id",
          "shippingZoneId"
        ]
      },
      "store_GetAvailableShippingRatesResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping rate data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_AvailableShippingRate"
            }
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_CreateShippingRateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "conditionType": {
            "type": "string",
            "description": "Type of condition to provide the conditional pricing",
            "enum": [
              "none",
              "price",
              "weight"
            ],
            "example": "price"
          },
          "minCondition": {
            "type": "number",
            "description": "Minimum condition for applying this price. set 0 or null if there is no minimum",
            "example": 99.99
          },
          "maxCondition": {
            "type": "number",
            "description": "Maximum condition for applying this price. set 0 or null if there is no maximum",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "amount",
          "conditionType",
          "minCondition",
          "maxCondition",
          "shippingCarrierId"
        ]
      },
      "store_CreateShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingRateSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_ListShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 20
          },
          "data": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingRateSchema"
            }
          }
        },
        "required": [
          "total",
          "data"
        ]
      },
      "store_GetShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingRateSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_UpdateShippingRateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "conditionType": {
            "type": "string",
            "description": "Type of condition to provide the conditional pricing",
            "enum": [
              "none",
              "price",
              "weight"
            ],
            "example": "price"
          },
          "minCondition": {
            "type": "number",
            "description": "Minimum condition for applying this price. set 0 or null if there is no minimum",
            "example": 99.99
          },
          "maxCondition": {
            "type": "number",
            "description": "Maximum condition for applying this price. set 0 or null if there is no maximum",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          }
        }
      },
      "store_UpdateShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingRateSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_DeleteShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "store_CreateShippingCarrierDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier",
            "example": "FedEx"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The URL endpoint that the platform needs to retrieve shipping rates. This must be a public URL.",
            "example": "https://example.com/get-shipping-rates"
          },
          "services": {
            "description": "An array of available shipping carrier services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          },
          "allowsMultipleServiceSelection": {
            "type": "boolean",
            "description": "The seller can choose multiple services while creating shipping rates if this is true.",
            "example": true
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "callbackUrl"
        ]
      },
      "store_ShippingCarrierSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier",
            "example": "FedEx"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The URL endpoint that the platform needs to retrieve shipping rates. This must be a public URL.",
            "example": "https://example.com/get-shipping-rates"
          },
          "services": {
            "description": "An array of available shipping carrier services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          },
          "allowsMultipleServiceSelection": {
            "type": "boolean",
            "description": "The seller can choose multiple services while creating shipping rates if this is true.",
            "example": true
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The unique identifier for the marketplace app.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "callbackUrl",
          "_id",
          "marketplaceAppId",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_CreateShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingCarrierSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_ListShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierSchema"
            }
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_GetShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingCarrierSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_UpdateShippingCarrierDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier",
            "example": "FedEx"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The URL endpoint that the platform needs to retrieve shipping rates. This must be a public URL.",
            "example": "https://example.com/get-shipping-rates"
          },
          "services": {
            "description": "An array of available shipping carrier services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_ShippingCarrierServiceDto"
            }
          },
          "allowsMultipleServiceSelection": {
            "type": "boolean",
            "description": "The seller can choose multiple services while creating shipping rates if this is true.",
            "example": true
          }
        }
      },
      "store_UpdateShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_ShippingCarrierSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_DeleteShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "store_StoreShippingOriginDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the store / company",
            "example": "ABC Store"
          },
          "country": {
            "type": "number",
            "description": "Country code",
            "enum": [
              [
                "US",
                "CA",
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "KH",
                "CM",
                "CV",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "XK",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "AN",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "KR",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            ],
            "example": "US"
          },
          "state": {
            "type": "string",
            "description": "State code",
            "enum": [
              "AL",
              "AK",
              "AS",
              "AZ",
              "AR",
              "AA",
              "AE",
              "AP",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FM",
              "FL",
              "GA",
              "GU",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MH",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "MP",
              "OH",
              "OK",
              "OR",
              "PW",
              "PA",
              "PR",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "MB",
              "NB",
              "NL",
              "NT",
              "NS",
              "NU",
              "ON",
              "PE",
              "QC",
              "SK",
              "YT",
              "BA",
              "CT",
              "CC",
              "CH",
              "CB",
              "CN",
              "ER",
              "FO",
              "JY",
              "LP",
              "LR",
              "MZ",
              "MN",
              "NQ",
              "RN",
              "SA",
              "SJ",
              "SL",
              "SC",
              "SF",
              "SE",
              "TF",
              "TU",
              "ACT",
              "NSW",
              "NT",
              "QLD",
              "SA",
              "TAS",
              "VIC",
              "WA",
              "AC",
              "AL",
              "AM",
              "AP",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MG",
              "MS",
              "MT",
              "PA",
              "PB",
              "PE",
              "PI",
              "PR",
              "RJ",
              "RN",
              "RO",
              "RR",
              "RS",
              "SC",
              "SE",
              "SP",
              "TO",
              "AI",
              "AN",
              "AP",
              "AT",
              "BI",
              "CO",
              "AR",
              "LI",
              "LL",
              "LR",
              "MA",
              "ML",
              "RM",
              "TA",
              "VS",
              "NB",
              "AMA",
              "ANT",
              "ARA",
              "ATL",
              "BOL",
              "BOY",
              "CAL",
              "CAQ",
              "CAS",
              "CAU",
              "CES",
              "CHO",
              "CUN",
              "COR",
              "GUA",
              "GUV",
              "HUI",
              "LAG",
              "MAG",
              "MET",
              "NAR",
              "NSA",
              "PUT",
              "QUI",
              "RIS",
              "SAP",
              "SAN",
              "SUC",
              "TOL",
              "VAC",
              "VAU",
              "VID",
              "CR-A",
              "CR-C",
              "CR-G",
              "CR-H",
              "CR-L",
              "CR-P",
              "CR-SJ",
              "GT-16",
              "GT-15",
              "GT-04",
              "GT-20",
              "GT-02",
              "GT-05",
              "GT-01",
              "GT-13",
              "GT-18",
              "GT-21",
              "GT-22",
              "GT-17",
              "GT-09",
              "GT-14",
              "GT-11",
              "GT-03",
              "GT-12",
              "GT-06",
              "GT-07",
              "GT-10",
              "GT-08",
              "GT-19",
              "HK",
              "KL",
              "NT",
              "AN",
              "AP",
              "AR",
              "AS",
              "BR",
              "CH",
              "CG",
              "DN",
              "DD",
              "DL",
              "GA",
              "GJ",
              "HR",
              "HP",
              "JK",
              "JH",
              "KA",
              "KL",
              "LA",
              "LD",
              "MP",
              "MH",
              "MN",
              "ML",
              "MZ",
              "NL",
              "OR",
              "PY",
              "PB",
              "RJ",
              "SK",
              "TN",
              "TS",
              "TR",
              "UP",
              "UK",
              "WB",
              "CW",
              "CN",
              "CE",
              "CO",
              "DL",
              "D",
              "G",
              "KY",
              "KE",
              "KK",
              "LS",
              "LM",
              "LK",
              "LD",
              "LH",
              "MO",
              "MH",
              "MN",
              "OY",
              "RN",
              "SO",
              "TA",
              "WD",
              "WH",
              "WX",
              "WW",
              "AG",
              "AL",
              "AN",
              "AO",
              "AR",
              "AP",
              "AT",
              "AV",
              "BA",
              "BT",
              "BL",
              "BN",
              "BG",
              "BI",
              "BO",
              "BZ",
              "BS",
              "BR",
              "CA",
              "CL",
              "CB",
              "CI",
              "CE",
              "CT",
              "CZ",
              "CH",
              "CO",
              "CS",
              "CR",
              "KR",
              "CN",
              "EN",
              "FM",
              "FE",
              "FI",
              "FG",
              "FC",
              "FR",
              "GE",
              "GO",
              "GR",
              "IM",
              "IS",
              "AQ",
              "SP",
              "LT",
              "LE",
              "LC",
              "LI",
              "LO",
              "LU",
              "MC",
              "MN",
              "MS",
              "MT",
              "VS",
              "ME",
              "MI",
              "MO",
              "MB",
              "NA",
              "NO",
              "NU",
              "OG",
              "OT",
              "OR",
              "PD",
              "PA",
              "PR",
              "PV",
              "PG",
              "PU",
              "PE",
              "PC",
              "PI",
              "PT",
              "PN",
              "PZ",
              "PO",
              "RG",
              "RA",
              "RC",
              "RE",
              "RI",
              "RN",
              "RM",
              "RO",
              "SA",
              "SS",
              "SV",
              "SI",
              "SR",
              "SO",
              "TA",
              "TE",
              "TR",
              "TO",
              "TP",
              "TN",
              "TV",
              "TS",
              "UD",
              "VA",
              "VE",
              "VB",
              "VC",
              "VR",
              "VV",
              "VI",
              "VT",
              "JP-23",
              "JP-05",
              "JP-02",
              "JP-12",
              "JP-38",
              "JP-18",
              "JP-40",
              "JP-07",
              "JP-21",
              "JP-10",
              "JP-34",
              "JP-01",
              "JP-28",
              "JP-08",
              "JP-17",
              "JP-03",
              "JP-37",
              "JP-46",
              "JP-14",
              "JP-39",
              "JP-43",
              "JP-26",
              "JP-24",
              "JP-04",
              "JP-45",
              "JP-20",
              "JP-42",
              "JP-29",
              "JP-15",
              "JP-44",
              "JP-33",
              "JP-47",
              "JP-27",
              "JP-41",
              "JP-11",
              "JP-25",
              "JP-32",
              "JP-22",
              "JP-09",
              "JP-36",
              "JP-13",
              "JP-31",
              "JP-16",
              "JP-30",
              "JP-06",
              "JP-35",
              "JP-19",
              "JHR",
              "KDH",
              "KTN",
              "KUL",
              "LBN",
              "MLK",
              "NSN",
              "PHG",
              "PNG",
              "PRK",
              "PLS",
              "PJY",
              "SBH",
              "SWK",
              "SGR",
              "TRG",
              "AGU",
              "BCN",
              "BCS",
              "CAM",
              "CHP",
              "CHH",
              "CMX",
              "COA",
              "COL",
              "DUR",
              "GUA",
              "GRO",
              "HID",
              "JAL",
              "MIC",
              "MOR",
              "MEX",
              "NAY",
              "NLE",
              "OAX",
              "PUE",
              "QUE",
              "ROO",
              "SLP",
              "SIN",
              "SON",
              "TAB",
              "TAM",
              "TLA",
              "VER",
              "YUC",
              "ZAC",
              "AUK",
              "BOP",
              "CAN",
              "CIT",
              "GIS",
              "HKB",
              "MWT",
              "MBH",
              "NSN",
              "NTL",
              "OTA",
              "STL",
              "TKI",
              "TAS",
              "WKO",
              "WGN",
              "WTC",
              "JK",
              "BA",
              "GB",
              "IS",
              "KP",
              "PB",
              "SD",
              "AMA",
              "ANC",
              "APU",
              "ARE",
              "AYA",
              "CAJ",
              "CAL",
              "CUS",
              "HUV",
              "HUC",
              "ICA",
              "JUN",
              "LAL",
              "LAM",
              "LIM",
              "LOR",
              "MDD",
              "MOQ",
              "PAS",
              "PIU",
              "PUN",
              "SAM",
              "TAC",
              "TUM",
              "UCA",
              "PH-ABR",
              "PH-AGN",
              "PH-AGS",
              "PH-AKL",
              "PH-ALB",
              "PH-ANT",
              "PH-APA",
              "PH-AUR",
              "PH-BAS",
              "PH-BAN",
              "PH-BTN",
              "PH-BTG",
              "PH-BEN",
              "PH-BIL",
              "PH-BOH",
              "PH-BUK",
              "PH-BUL",
              "PH-CAG",
              "PH-CAN",
              "PH-CAS",
              "PH-CAM",
              "PH-CAP",
              "PH-CAT",
              "PH-CAV",
              "PH-CEB",
              "PH-NCO",
              "PH-DAO",
              "PH-DAV",
              "PH-DAS",
              "PH-EAS",
              "PH-GUI",
              "PH-IFU",
              "PH-ILN",
              "PH-ILS",
              "PH-ILI",
              "PH-ISA",
              "PH-KAL",
              "PH-LUN",
              "PH-LAG",
              "PH-LAN",
              "PH-LAS",
              "PH-LEY",
              "PH-MAG",
              "PH-MAD",
              "PH-MAS",
              "PH-00",
              "PH-MSC",
              "PH-MSR",
              "PH-MOU",
              "PH-NEC",
              "PH-NER",
              "PH-NSA",
              "PH-NUE",
              "PH-NUV",
              "PH-MDC",
              "PH-MDR",
              "PH-PLW",
              "PH-PAM",
              "PH-PAN",
              "PH-QUE",
              "PH-QUI",
              "PH-RIZ",
              "PH-ROM",
              "PH-WSA",
              "PH-SAR",
              "PH-SIG",
              "PH-SOR",
              "PH-SCO",
              "PH-SLE",
              "PH-SUK",
              "PH-SLU",
              "PH-SUN",
              "PH-SUR",
              "PH-TAR",
              "PH-TAW",
              "PH-ZMB",
              "PH-ZAN",
              "PH-ZAS",
              "PH-ZSI",
              "PT-20",
              "PT-01",
              "PT-02",
              "PT-03",
              "PT-04",
              "PT-05",
              "PT-06",
              "PT-07",
              "PT-08",
              "PT-09",
              "PT-10",
              "PT-11",
              "PT-30",
              "PT-12",
              "PT-13",
              "PT-14",
              "PT-15",
              "PT-16",
              "PT-17",
              "PT-18",
              "AB",
              "AR",
              "AG",
              "BC",
              "BH",
              "BN",
              "BT",
              "BR",
              "BV",
              "B",
              "BZ",
              "CL",
              "CS",
              "CJ",
              "CT",
              "CV",
              "DB",
              "DJ",
              "GL",
              "GR",
              "GJ",
              "HR",
              "HD",
              "IL",
              "IS",
              "IF",
              "MM",
              "MH",
              "MS",
              "NT",
              "OT",
              "PH",
              "SJ",
              "SM",
              "SB",
              "SV",
              "TR",
              "TM",
              "TL",
              "VL",
              "VS",
              "VN",
              "KR-26",
              "KR-43",
              "KR-44",
              "KR-27",
              "KR-30",
              "KR-42",
              "KR-29",
              "KR-47",
              "KR-41",
              "KR-48",
              "KR-28",
              "KR-49",
              "KR-45",
              "KR-46",
              "KR-50",
              "KR-11",
              "KR-31",
              "C",
              "VI",
              "AB",
              "A",
              "AL",
              "O",
              "AV",
              "BA",
              "PM",
              "B",
              "BU",
              "CC",
              "CA",
              "S",
              "CS",
              "CE",
              "CR",
              "CO",
              "CU",
              "GI",
              "GR",
              "GU",
              "SS",
              "H",
              "HU",
              "J",
              "LO",
              "GC",
              "LE",
              "L",
              "LU",
              "M",
              "MA",
              "ML",
              "MU",
              "NA",
              "OR",
              "P",
              "PO",
              "SA",
              "TF",
              "SG",
              "SE",
              "SO",
              "T",
              "TE",
              "TO",
              "V",
              "VA",
              "BI",
              "ZA",
              "Z",
              "AZ",
              "AJ",
              "DU",
              "FU",
              "RK",
              "SH",
              "UQ",
              "BFP",
              "ENG",
              "NIR",
              "SCT",
              "WLS",
              "AR",
              "CA",
              "CL",
              "CO",
              "DU",
              "FS",
              "FD",
              "LA",
              "MA",
              "MO",
              "PA",
              "RN",
              "RV",
              "RO",
              "SA",
              "SJ",
              "SO",
              "TA",
              "TT"
            ],
            "example": "VA"
          },
          "city": {
            "type": "string",
            "description": "City name",
            "example": "Tokyo"
          },
          "street1": {
            "type": "string",
            "description": "Street address line 1",
            "example": "Street 1"
          },
          "street2": {
            "type": "string",
            "description": "Street address line 2",
            "example": "Street 2"
          },
          "zip": {
            "type": "string",
            "description": "Zip code",
            "example": "674561"
          },
          "phone": {
            "type": "string",
            "description": "Business Phone Number",
            "example": "+1-214-559-6993"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john@deo.com"
          }
        },
        "required": [
          "name",
          "country",
          "city",
          "street1",
          "zip"
        ]
      },
      "store_StoreOrderNotificationDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Store order notification enabled",
            "example": true
          },
          "subject": {
            "type": "string",
            "description": "Store order email subject",
            "example": "Your order is placed !"
          },
          "emailTemplateId": {
            "type": "string",
            "description": "Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          },
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "Default Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          }
        },
        "required": [
          "enabled",
          "subject",
          "emailTemplateId",
          "defaultEmailTemplateId"
        ]
      },
      "store_StoreOrderFulfillmentNotificationDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Store order fulfillment notification enabled",
            "example": true
          },
          "subject": {
            "type": "string",
            "description": "Store order fulfillment email subject",
            "example": "Order fulfilled"
          },
          "emailTemplateId": {
            "type": "string",
            "description": "Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          },
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "Default Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          }
        },
        "required": [
          "enabled",
          "subject",
          "emailTemplateId",
          "defaultEmailTemplateId"
        ]
      },
      "store_CreateStoreSettingDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "shippingOrigin": {
            "description": "Shipping origin address",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreShippingOriginDto"
              }
            ]
          },
          "storeOrderNotification": {
            "description": "Store order notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreOrderNotificationDto"
              }
            ]
          },
          "storeOrderFulfillmentNotification": {
            "description": "Store order fulfillment notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreOrderFulfillmentNotificationDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "shippingOrigin"
        ]
      },
      "store_StoreSettingSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "shippingOrigin": {
            "description": "Shipping origin address",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreShippingOriginDto"
              }
            ]
          },
          "storeOrderNotification": {
            "description": "Store order notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreOrderNotificationDto"
              }
            ]
          },
          "storeOrderFulfillmentNotification": {
            "description": "Store order fulfillment notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreOrderFulfillmentNotificationDto"
              }
            ]
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the settings.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "shippingOrigin",
          "_id",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_CreateStoreSettingResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreSettingSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_GetStoreSettingResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_StoreSettingSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "surveys_GetSurveysSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "I5GFa3d3cKjojpe4VVUx"
          },
          "name": {
            "type": "string",
            "example": "Survey 1"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "surveys_GetSurveysSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "surveys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/surveys_GetSurveysSchema"
            }
          },
          "total": {
            "type": "number",
            "example": 20,
            "description": "Number of surveys"
          }
        }
      },
      "surveys_PageDetailsSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://example.com"
          },
          "title": {
            "type": "string",
            "example": "Example Page"
          }
        }
      },
      "surveys_ContactSessionIds": {
        "type": "object",
        "properties": {
          "ids": {
            "example": [
              "session1",
              "session2"
            ],
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "surveys_EventDataSchema": {
        "type": "object",
        "properties": {
          "fbc": {
            "type": "string",
            "example": "fb.1.123456789.987654321"
          },
          "fbp": {
            "type": "string",
            "example": "fbp.1.987654321.123456789"
          },
          "page": {
            "$ref": "#/components/schemas/surveys_PageDetailsSchema"
          },
          "type": {
            "type": "string",
            "example": "page-visit"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "medium": {
            "type": "string",
            "example": "survey"
          },
          "source": {
            "type": "string",
            "example": "Direct traffic"
          },
          "version": {
            "type": "string",
            "example": "v3"
          },
          "adSource": {
            "type": "string",
            "example": "example-ad-source"
          },
          "mediumId": {
            "type": "string",
            "example": "medium-id-123"
          },
          "parentId": {
            "type": "string",
            "example": "parent-id-456"
          },
          "referrer": {
            "type": "string",
            "example": "https://staging.crm.gesvision.com"
          },
          "fbEventId": {
            "type": "string",
            "example": "event-id-789"
          },
          "timestamp": {
            "type": "number",
            "example": 1234567890
          },
          "parentName": {
            "type": "string",
            "example": "Parent Survey"
          },
          "fingerprint": {
            "type": "string",
            "example": "example-fingerprint"
          },
          "pageVisitType": {
            "type": "string",
            "example": "survey"
          },
          "contactSessionIds": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/surveys_ContactSessionIds"
              }
            ]
          }
        }
      },
      "surveys_othersSchema": {
        "type": "object",
        "properties": {
          "__submissions_other_field__": {
            "type": "string",
            "example": "john@deo.com"
          },
          "__custom_field_id__": {
            "type": "string",
            "example": "20"
          },
          "eventData": {
            "$ref": "#/components/schemas/surveys_EventDataSchema"
          },
          "fieldsOriSequance": {
            "example": [
              "full_name",
              "first_name",
              "last_name",
              "phone",
              "email"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "surveys_SubmissionSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "be759b9a-c3ec-4b29-ba07-fc3c89c77673"
          },
          "contactId": {
            "type": "string",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "createdAt": {
            "type": "string",
            "example": "2020-11-01T18:02:21.000Z"
          },
          "surveyId": {
            "type": "string",
            "example": "jjusM6EOngDExnbo2DbU"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "email": {
            "type": "string",
            "example": "test@test.com"
          },
          "others": {
            "$ref": "#/components/schemas/surveys_othersSchema"
          }
        }
      },
      "surveys_metaSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 1
          },
          "currentPage": {
            "type": "number",
            "example": 1
          },
          "nextPage": {
            "type": "number",
            "example": null,
            "nullable": true
          },
          "prevPage": {
            "type": "number",
            "example": null,
            "nullable": true
          }
        }
      },
      "surveys_GetSurveysSubmissionSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/surveys_SubmissionSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/surveys_metaSchema"
          }
        }
      },
      "users_PermissionsDto": {
        "type": "object",
        "properties": {
          "campaignsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "campaignsReadOnly": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "contactsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "workflowsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "workflowsReadOnly": {
            "type": "boolean",
            "example": true,
            "default": false
          },
          "triggersEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "funnelsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "websitesEnabled": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "opportunitiesEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "dashboardStatsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "bulkRequestsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "appointmentsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "reviewsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "onlineListingsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "phoneCallEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "conversationsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "assignedDataOnly": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "adwordsReportingEnabled": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "membershipEnabled": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "facebookAdsReportingEnabled": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "attributionsReportingEnabled": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "settingsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "tagsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "leadValueEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "marketingEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "agentReportingEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "botService": {
            "type": "boolean",
            "example": false,
            "default": false
          },
          "socialPlanner": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "bloggingEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "invoiceEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "affiliateManagerEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "contentAiEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "refundsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "recordPaymentEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "cancelSubscriptionEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "paymentsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "communitiesEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          },
          "exportPaymentsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true
          }
        }
      },
      "users_RoleSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "account"
          },
          "role": {
            "type": "string",
            "example": "admin"
          },
          "locationIds": {
            "example": [
              "ve9EPM428h8vShlRW1KT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "restrictSubAccount": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "users_UserSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0IHuJvc2ofPAAA8GzTRi"
          },
          "name": {
            "type": "string",
            "example": "John Deo"
          },
          "firstName": {
            "type": "string",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "example": "Deo"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "phone": {
            "type": "string",
            "example": "+1 808-868-8888"
          },
          "extension": {
            "type": "string",
            "example": ""
          },
          "permissions": {
            "$ref": "#/components/schemas/users_PermissionsDto"
          },
          "scopes": {
            "type": "string",
            "enum": [
              "campaigns.readonly",
              "campaigns.write",
              "calendars.readonly",
              "calendars/events.write",
              "calendars/groups.write",
              "calendars.write",
              "contacts.write",
              "contacts/bulkActions.write",
              "workflows.readonly",
              "workflows.write",
              "triggers.write",
              "funnels.write",
              "forms.write",
              "surveys.write",
              "quizzes.write",
              "websites.write",
              "medias.write",
              "medias.readonly",
              "opportunities.write",
              "opportunities/leadValue.readonly",
              "opportunities/bulkActions.write",
              "reporting/phone.readonly",
              "reporting/adwords.readonly",
              "reporting/facebookAds.readonly",
              "reporting/attributions.readonly",
              "prospecting/auditReport.write",
              "reporting/reports.readonly",
              "reporting/agent.readonly",
              "reporting/reports.write",
              "reporting/stats.export",
              "payments.write",
              "payments/records.write",
              "payments/orders.readonly",
              "payments/orders.export",
              "payments/orders.import",
              "payments/orders.collectPayment",
              "payments/subscriptions.readonly",
              "payments/subscriptions.write",
              "payments/subscriptions.update",
              "payments/subscriptions.export",
              "payments/subscriptions.pauseResumeCancel",
              "payments/subscriptions.sharePaymentMethod",
              "payments/transactions.readonly",
              "payments/transactions.export",
              "payments/transactions.import",
              "payments/transactions.refund",
              "payments/transactions.viewReceipts",
              "payments/taxesSettings.readonly",
              "payments/settings.readonly",
              "payments/taxesSettings.updateInclusiveExclusive",
              "payments/taxesSettings.manageRates",
              "payments/taxesSettings.configureAutomatic",
              "products.readonly",
              "products.write",
              "products.delete",
              "products.duplicate",
              "products.bulkActions",
              "payments/settings.write",
              "payments/settings.configureReceipt",
              "payments/settings.configureSubscription",
              "invoices.write",
              "invoices.readonly",
              "invoices/schedule.readonly",
              "invoices/schedule.write",
              "invoices/template.readonly",
              "invoices/template.write",
              "reputation/review.write",
              "reputation/listing.write",
              "reputation/reviewsAIAgents.write",
              "reputation/gbp.write",
              "conversations.write",
              "conversations.readonly",
              "conversations/message.readonly",
              "conversations/message.write",
              "contentAI.write",
              "dashboard/stats.readonly",
              "locations/tags.write",
              "locations/tags.readonly",
              "marketing.write",
              "eliza.write",
              "settings.write",
              "socialplanner/post.write",
              "socialplanner/account.readonly",
              "socialplanner/account.write",
              "socialplanner/category.readonly",
              "socialplanner/category.write",
              "socialplanner/csv.readonly",
              "socialplanner/csv.write",
              "socialplanner/group.write",
              "socialplanner/hashtag.readonly",
              "socialplanner/hashtag.write",
              "socialplanner/oauth.readonly",
              "socialplanner/oauth.write",
              "socialplanner/post.readonly",
              "socialplanner/recurring.readonly",
              "socialplanner/recurring.write",
              "socialplanner/review.readonly",
              "socialplanner/review.write",
              "socialplanner/rss.readonly",
              "socialplanner/rss.write",
              "socialplanner/search.readonly",
              "socialplanner/setting.readonly",
              "socialplanner/setting.write",
              "socialplanner/stat.readonly",
              "socialplanner/tag.readonly",
              "socialplanner/tag.write",
              "socialplanner/filters.readonly",
              "socialplanner/medias.readonly",
              "socialplanner/medias.write",
              "socialplanner/watermarks.readonly",
              "socialplanner/watermarks.write",
              "socialplanner/metatag.readonly",
              "socialplanner/facebook.readonly",
              "socialplanner/linkedin.readonly",
              "socialplanner/twitter.readonly",
              "socialplanner/notification.readonly",
              "socialplanner/notification.write",
              "socialplanner/snapshot.readonly",
              "socialplanner/snapshot.write",
              "marketing/affiliate.write",
              "blogs.write",
              "membership.write",
              "communities.write",
              "gokollab.write",
              "certificates.write",
              "certificates.readonly",
              "adPublishing.write",
              "adPublishing.readonly",
              "prospecting.write",
              "prospecting.readonly",
              "prospecting/reports.readonly",
              "private-integration-location.readonly",
              "private-integration-location.write",
              "private-integration-company.readonly",
              "private-integration-company.write",
              "native-integrations.readonly",
              "native-integrations.write",
              "wordpress.write",
              "wordpress.read",
              "custom-menu-link.write",
              "qrcodes.write",
              "users/team-management.write",
              "users/team-management.readonly",
              "loginas.write",
              "users-sso-login-management.write",
              "users-sso-login-management.readonly",
              "sso-config.write",
              "snapshots/api.readonly",
              "snapshots/api.create",
              "snapshots/api.edit",
              "snapshots/api.push",
              "snapshots/api.refresh",
              "snapshots/api.share",
              "snapshots/api.delete",
              "internaltools.location-transfer.write",
              "internaltools.location-transfer.readonly",
              "affiliateportal.write",
              "affiliateportal.readonly",
              "companies.write",
              "internaltools.billing.write",
              "internaltools.billing.readonly",
              "internaltools.billing-common.readonly",
              "internaltools.billing-common.write",
              "voice-ai-agents.write",
              "voice-ai-agents.readonly",
              "voice-ai-common.readonly",
              "voice-ai-common.write",
              "voice-ai-agent-goals.readonly",
              "voice-ai-agent-goals.write",
              "voice-ai-dashboard.readonly",
              "agency/launchpad.write",
              "agency/launchpad.readonly",
              "launchpad/location.write",
              "launchpad/location.readonly",
              "text-ai-agents.write",
              "text-ai-agent-goals.readonly",
              "text-ai-agent-goals.write",
              "text-ai-agent-training.write",
              "text-ai-agents-dashboard.readonly",
              "locations.create",
              "locations.delete",
              "locations.export.list",
              "locations.features-limits.manage",
              "locations.pause-resume",
              "locations.agency-subaccounts.manage",
              "locations.billing.manage",
              "locations.details.manage",
              "audit-logs.readonly",
              "audit-logs.export"
            ]
          },
          "roles": {
            "$ref": "#/components/schemas/users_RoleSchema"
          },
          "deleted": {
            "type": "boolean",
            "example": false
          },
          "lcPhone": {
            "type": "object",
            "example": {
              "locationId": "+1234556677"
            },
            "description": "CRM Phone Inbound Phone Numbers"
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        }
      },
      "users_SearchUserSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/users_UserSchema"
            }
          },
          "count": {
            "type": "number",
            "example": 1231
          }
        }
      },
      "users_FilterByEmailDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "example": "5DP41231LkQsiKESj6rh",
            "description": "Company ID to filter users"
          },
          "emails": {
            "type": "string",
            "example": "user1@example.com,user2@example.com",
            "description": "Comma-separated list of email addresses to filter users"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Filter deleted users",
            "default": false
          },
          "skip": {
            "type": "string",
            "example": "1",
            "default": "0",
            "description": "No of results to be skipped before returning the result"
          },
          "limit": {
            "type": "string",
            "example": "10",
            "default": "25",
            "description": "No of results to be limited before returning the result"
          },
          "projection": {
            "type": "string",
            "example": "all",
            "description": "Projection fields to return. Use \"all\" for all fields, or specify comma-separated field names. Default returns only id and email"
          }
        },
        "required": [
          "companyId",
          "emails"
        ]
      },
      "users_LocationSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/users_UserSchema"
            }
          }
        }
      },
      "users_UserSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0IHuJvc2ofPAAA8GzTRi"
          },
          "name": {
            "type": "string",
            "example": "John Deo"
          },
          "firstName": {
            "type": "string",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "example": "Deo"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "phone": {
            "type": "string",
            "example": "+1 808-868-8888"
          },
          "extension": {
            "type": "string",
            "example": ""
          },
          "permissions": {
            "$ref": "#/components/schemas/users_PermissionsDto"
          },
          "scopes": {
            "type": "string",
            "enum": [
              "campaigns.readonly",
              "campaigns.write",
              "calendars.readonly",
              "calendars/events.write",
              "calendars/groups.write",
              "calendars.write",
              "contacts.write",
              "contacts/bulkActions.write",
              "workflows.readonly",
              "workflows.write",
              "triggers.write",
              "funnels.write",
              "forms.write",
              "surveys.write",
              "quizzes.write",
              "websites.write",
              "medias.write",
              "medias.readonly",
              "opportunities.write",
              "opportunities/leadValue.readonly",
              "opportunities/bulkActions.write",
              "reporting/phone.readonly",
              "reporting/adwords.readonly",
              "reporting/facebookAds.readonly",
              "reporting/attributions.readonly",
              "prospecting/auditReport.write",
              "reporting/reports.readonly",
              "reporting/agent.readonly",
              "reporting/reports.write",
              "reporting/stats.export",
              "payments.write",
              "payments/records.write",
              "payments/orders.readonly",
              "payments/orders.export",
              "payments/orders.import",
              "payments/orders.collectPayment",
              "payments/subscriptions.readonly",
              "payments/subscriptions.write",
              "payments/subscriptions.update",
              "payments/subscriptions.export",
              "payments/subscriptions.pauseResumeCancel",
              "payments/subscriptions.sharePaymentMethod",
              "payments/transactions.readonly",
              "payments/transactions.export",
              "payments/transactions.import",
              "payments/transactions.refund",
              "payments/transactions.viewReceipts",
              "payments/taxesSettings.readonly",
              "payments/settings.readonly",
              "payments/taxesSettings.updateInclusiveExclusive",
              "payments/taxesSettings.manageRates",
              "payments/taxesSettings.configureAutomatic",
              "products.readonly",
              "products.write",
              "products.delete",
              "products.duplicate",
              "products.bulkActions",
              "payments/settings.write",
              "payments/settings.configureReceipt",
              "payments/settings.configureSubscription",
              "invoices.write",
              "invoices.readonly",
              "invoices/schedule.readonly",
              "invoices/schedule.write",
              "invoices/template.readonly",
              "invoices/template.write",
              "reputation/review.write",
              "reputation/listing.write",
              "reputation/reviewsAIAgents.write",
              "reputation/gbp.write",
              "conversations.write",
              "conversations.readonly",
              "conversations/message.readonly",
              "conversations/message.write",
              "contentAI.write",
              "dashboard/stats.readonly",
              "locations/tags.write",
              "locations/tags.readonly",
              "marketing.write",
              "eliza.write",
              "settings.write",
              "socialplanner/post.write",
              "socialplanner/account.readonly",
              "socialplanner/account.write",
              "socialplanner/category.readonly",
              "socialplanner/category.write",
              "socialplanner/csv.readonly",
              "socialplanner/csv.write",
              "socialplanner/group.write",
              "socialplanner/hashtag.readonly",
              "socialplanner/hashtag.write",
              "socialplanner/oauth.readonly",
              "socialplanner/oauth.write",
              "socialplanner/post.readonly",
              "socialplanner/recurring.readonly",
              "socialplanner/recurring.write",
              "socialplanner/review.readonly",
              "socialplanner/review.write",
              "socialplanner/rss.readonly",
              "socialplanner/rss.write",
              "socialplanner/search.readonly",
              "socialplanner/setting.readonly",
              "socialplanner/setting.write",
              "socialplanner/stat.readonly",
              "socialplanner/tag.readonly",
              "socialplanner/tag.write",
              "socialplanner/filters.readonly",
              "socialplanner/medias.readonly",
              "socialplanner/medias.write",
              "socialplanner/watermarks.readonly",
              "socialplanner/watermarks.write",
              "socialplanner/metatag.readonly",
              "socialplanner/facebook.readonly",
              "socialplanner/linkedin.readonly",
              "socialplanner/twitter.readonly",
              "socialplanner/notification.readonly",
              "socialplanner/notification.write",
              "socialplanner/snapshot.readonly",
              "socialplanner/snapshot.write",
              "marketing/affiliate.write",
              "blogs.write",
              "membership.write",
              "communities.write",
              "gokollab.write",
              "certificates.write",
              "certificates.readonly",
              "adPublishing.write",
              "adPublishing.readonly",
              "prospecting.write",
              "prospecting.readonly",
              "prospecting/reports.readonly",
              "private-integration-location.readonly",
              "private-integration-location.write",
              "private-integration-company.readonly",
              "private-integration-company.write",
              "native-integrations.readonly",
              "native-integrations.write",
              "wordpress.write",
              "wordpress.read",
              "custom-menu-link.write",
              "qrcodes.write",
              "users/team-management.write",
              "users/team-management.readonly",
              "loginas.write",
              "users-sso-login-management.write",
              "users-sso-login-management.readonly",
              "sso-config.write",
              "snapshots/api.readonly",
              "snapshots/api.create",
              "snapshots/api.edit",
              "snapshots/api.push",
              "snapshots/api.refresh",
              "snapshots/api.share",
              "snapshots/api.delete",
              "internaltools.location-transfer.write",
              "internaltools.location-transfer.readonly",
              "affiliateportal.write",
              "affiliateportal.readonly",
              "companies.write",
              "internaltools.billing.write",
              "internaltools.billing.readonly",
              "internaltools.billing-common.readonly",
              "internaltools.billing-common.write",
              "voice-ai-agents.write",
              "voice-ai-agents.readonly",
              "voice-ai-common.readonly",
              "voice-ai-common.write",
              "voice-ai-agent-goals.readonly",
              "voice-ai-agent-goals.write",
              "voice-ai-dashboard.readonly",
              "agency/launchpad.write",
              "agency/launchpad.readonly",
              "launchpad/location.write",
              "launchpad/location.readonly",
              "text-ai-agents.write",
              "text-ai-agent-goals.readonly",
              "text-ai-agent-goals.write",
              "text-ai-agent-training.write",
              "text-ai-agents-dashboard.readonly",
              "locations.create",
              "locations.delete",
              "locations.export.list",
              "locations.features-limits.manage",
              "locations.pause-resume",
              "locations.agency-subaccounts.manage",
              "locations.billing.manage",
              "locations.details.manage",
              "audit-logs.readonly",
              "audit-logs.export"
            ]
          },
          "roles": {
            "$ref": "#/components/schemas/users_RoleSchema"
          },
          "lcPhone": {
            "type": "object",
            "example": {
              "locationId": "+1234556677"
            },
            "description": "CRM Phone Inbound Phone Numbers"
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        }
      },
      "users_CreateUserDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "firstName": {
            "type": "string",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "example": "Deo"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "password": {
            "type": "string",
            "example": "*******"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "type": {
            "type": "string",
            "example": "account"
          },
          "role": {
            "type": "string",
            "example": "admin"
          },
          "locationIds": {
            "example": [
              "C2QujeCh8ZnC7al2InWR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "permissions": {
            "$ref": "#/components/schemas/users_PermissionsDto"
          },
          "scopes": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Scopes allowed for users. Only scopes that have been passed will be enabled. Note:- If passed empty all the scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "scopesAssignedToOnly": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Assigned Scopes allowed for users. Only scopes that have been passed will be enabled. If passed empty all the assigned scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "profilePhoto": {
            "type": "string",
            "example": "https://img.png"
          },
          "twilioPhone": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "C2QujeCh8ZnC7al2InWR": "+18832327657",
              "M2QrtfVt8ZnC7cv2InDL": "+18832327657"
            },
            "description": "Per-location inbound Twilio number in E.164 format, keyed by location id (Call and Voicemail Inbound Number for direct Twilio, not CRM Phone). Replacement semantics: if you send twilioPhone in the request body, the stored map is replaced entirely with this object (not merged). Any location id omitted from the object is removed from the saved map. Omit the twilioPhone property entirely to leave existing numbers unchanged. Send an empty object {} to clear all per-location numbers. To clear a single location only, set that location id to an empty string \"\"."
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        },
        "required": [
          "companyId",
          "firstName",
          "lastName",
          "email",
          "password",
          "type",
          "role",
          "locationIds"
        ]
      },
      "users_UpdateUserDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "example": "Deo"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com",
            "deprecated": true,
            "description": "Email update is no longer supported due to security reasons."
          },
          "password": {
            "type": "string",
            "example": "*******"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "type": {
            "type": "string",
            "example": "account"
          },
          "role": {
            "type": "string",
            "example": "admin"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id. Required for Agency Level access",
            "example": "UAXssdawIWAWD"
          },
          "locationIds": {
            "example": [
              "C2QujeCh8ZnC7al2InWR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "permissions": {
            "$ref": "#/components/schemas/users_PermissionsDto"
          },
          "scopes": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Scopes allowed for users. Only scopes that have been passed will be enabled. If passed empty all the scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "scopesAssignedToOnly": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Assigned Scopes allowed for users. Only scopes that have been passed will be enabled. If passed empty all the assigned scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "profilePhoto": {
            "type": "string",
            "example": "https://img.png"
          },
          "twilioPhone": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "C2QujeCh8ZnC7al2InWR": "+18832327657",
              "M2QrtfVt8ZnC7cv2InDL": "+18832327657"
            },
            "description": "Per-location inbound Twilio number in E.164 format, keyed by location id (Call and Voicemail Inbound Number for direct Twilio, not CRM Phone). Replacement semantics: if you send twilioPhone in the request body, the stored map is replaced entirely with this object (not merged). Any location id omitted from the object is removed from the saved map. Omit the twilioPhone property entirely to leave existing numbers unchanged. Send an empty object {} to clear all per-location numbers. To clear a single location only, set that location id to an empty string \"\"."
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        }
      },
      "users_DeleteUserSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          },
          "message": {
            "type": "string",
            "example": "Queued deleting user with e-mail john@deo.com and name John Deo. Will take effect in a few minutes."
          }
        }
      },
      "ad_publishing_v3_GreetingCard": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Greeting card title",
            "example": "Welcome!"
          },
          "style": {
            "type": "string",
            "description": "Greeting card style",
            "example": "LIST_STYLE"
          },
          "content": {
            "description": "Greeting card content",
            "example": [
              "Learn more about our services"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "title",
          "style",
          "content"
        ]
      },
      "ad_publishing_v3_FormQuestionOption": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Option key",
            "example": "option 1"
          },
          "value": {
            "type": "string",
            "description": "Option value",
            "example": "Option 1"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "ad_publishing_v3_FormQuestion": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Question label text shown to the user",
            "example": "What is your name?"
          },
          "key": {
            "type": "string",
            "description": "Question key",
            "example": "name"
          },
          "type": {
            "type": "string",
            "description": "Question input type — use a prefilled type for standard fields or CUSTOM / SHORT_ANSWER for freeform questions",
            "example": "SHORT_ANSWER",
            "enum": [
              "CUSTOM",
              "CITY",
              "COMPANY_NAME",
              "COUNTRY",
              "DATE_OF_BIRTH",
              "EMAIL",
              "FIRST_NAME",
              "FULL_NAME",
              "GENDER",
              "JOB_TITLE",
              "LAST_NAME",
              "MARITIAL_STATUS",
              "MILITARY_STATUS",
              "PHONE",
              "POST_CODE",
              "RELATIONSHIP_STATUS",
              "STATE",
              "STREET_ADDRESS",
              "WORK_EMAIL",
              "WORK_PHONE_NUMBER",
              "ZIP",
              "SHORT_ANSWER"
            ]
          },
          "options": {
            "description": "Answer options for multiple-choice questions (only applies to CUSTOM type)",
            "example": [
              {
                "value": "Yes"
              },
              {
                "value": "No"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_FormQuestionOption"
            }
          }
        },
        "required": [
          "key",
          "type"
        ]
      },
      "ad_publishing_v3_CustomDisclaimerCheckbox": {
        "type": "object",
        "properties": {
          "isRequired": {
            "type": "boolean",
            "description": "Checkbox required flag",
            "example": true
          },
          "text": {
            "type": "string",
            "description": "Checkbox text label",
            "example": "I agree to terms"
          },
          "key": {
            "type": "string",
            "description": "Checkbox unique key",
            "example": "terms_checkbox"
          }
        },
        "required": [
          "isRequired",
          "text",
          "key"
        ]
      },
      "ad_publishing_v3_CustomDisclaimer": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Disclaimer title",
            "example": "Terms & Conditions"
          },
          "body": {
            "type": "string",
            "description": "Disclaimer body text",
            "example": "By submitting..."
          },
          "checkboxes": {
            "description": "Consent checkboxes the user must agree to before submitting the form",
            "example": [
              {
                "isRequired": true,
                "text": "I agree to the Terms & Conditions",
                "key": "terms_checkbox"
              },
              {
                "isRequired": false,
                "text": "I would like to receive marketing emails",
                "key": "marketing_optin"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_CustomDisclaimerCheckbox"
            }
          }
        },
        "required": [
          "title",
          "body"
        ]
      },
      "ad_publishing_v3_ThankYouPage": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Thank you page title",
            "example": "Thank You!"
          },
          "body": {
            "type": "string",
            "description": "Thank you page body",
            "example": "We will contact you soon"
          },
          "buttonText": {
            "type": "string",
            "description": "Button text label",
            "example": "Visit Website"
          },
          "buttonType": {
            "type": "string",
            "description": "Button action type",
            "example": "VIEW_WEBSITE"
          },
          "buttonLink": {
            "type": "string",
            "description": "Button destination link",
            "example": "https://example.com"
          },
          "businessPhone": {
            "type": "string",
            "description": "Business phone number",
            "example": "+1234567890"
          },
          "countryCode": {
            "type": "string",
            "description": "Phone country code",
            "example": "US"
          }
        },
        "required": [
          "title",
          "body",
          "buttonText",
          "buttonType"
        ]
      },
      "ad_publishing_v3_CreateLeadFormDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Lead form type",
            "example": "MORE_VOLUME",
            "enum": [
              "MORE_VOLUME",
              "HIGHER_INTENT"
            ]
          },
          "name": {
            "type": "string",
            "description": "Lead form name",
            "example": "Contact Form"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "greetingCard": {
            "description": "Greeting card config",
            "example": {
              "title": "Welcome!",
              "style": "LIST_STYLE",
              "content": [
                "Learn more about our services"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GreetingCard"
              }
            ]
          },
          "questions": {
            "description": "List of questions displayed on the lead form. Required (non-empty) when `isDraft` is false or omitted; optional for drafts.",
            "example": [
              {
                "key": "full_name",
                "type": "FULL_NAME",
                "options": []
              },
              {
                "key": "email_address",
                "type": "EMAIL",
                "options": []
              },
              {
                "key": "are_you_interested",
                "label": "Are you interested?",
                "type": "CUSTOM",
                "options": [
                  {
                    "value": "Yes"
                  },
                  {
                    "value": "No"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_FormQuestion"
            }
          },
          "questionPageHeadline": {
            "type": "string",
            "description": "Question page headline",
            "example": "Tell us about yourself"
          },
          "privacyPolicyLink": {
            "type": "string",
            "description": "Privacy policy URL. Required when `isDraft` is false or omitted; optional for drafts.",
            "example": "https://example.com/privacy"
          },
          "privacyPolicyText": {
            "type": "string",
            "description": "Privacy policy text",
            "example": "We respect your privacy"
          },
          "customDisclaimer": {
            "description": "Custom disclaimer config",
            "example": {
              "title": "Terms & Conditions",
              "body": "By submitting...",
              "checkboxes": [
                {
                  "isRequired": true,
                  "text": "I agree",
                  "key": "terms"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_CustomDisclaimer"
              }
            ]
          },
          "thankYouPage": {
            "description": "Thank you page config. Required when `isDraft` is false or omitted; optional for drafts.",
            "example": {
              "title": "Thank You!",
              "body": "We will contact you soon",
              "buttonText": "Visit Website",
              "buttonType": "VIEW_WEBSITE",
              "buttonLink": "https://example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_ThankYouPage"
              }
            ]
          },
          "isDraft": {
            "type": "boolean",
            "description": "If the form is a draft, set to true",
            "example": true
          },
          "draftFormId": {
            "type": "string",
            "description": "Draft form ID",
            "example": "1234567890"
          },
          "locale": {
            "type": "string",
            "description": "Locale",
            "example": "EN_US"
          }
        },
        "required": [
          "type",
          "name",
          "locationId",
          "questions",
          "privacyPolicyLink",
          "thankYouPage"
        ]
      },
      "ad_publishing_v3_LocationIdBodyDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "HChooFuiyPpVYzeJ4HMe"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_publishing_v3_WelcomeMessageQuestion": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "Question title text",
            "example": "How can we help?"
          },
          "response": {
            "type": "string",
            "description": "Auto-response message",
            "example": "Thanks for reaching out"
          }
        },
        "required": [
          "question"
        ]
      },
      "ad_publishing_v3_CreateConversationFormDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Conversation form name",
            "example": "Welcome Form"
          },
          "text": {
            "type": "string",
            "description": "Welcome message text",
            "example": "Hi! How can we help?"
          },
          "questions": {
            "description": "Quick-reply questions shown in the welcome message of the conversation form",
            "example": [
              {
                "question": "How can we help?",
                "response": "Thanks for reaching out! A team member will assist you shortly."
              },
              {
                "question": "I want to learn more",
                "response": "Great! Here is a link to our services."
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_WelcomeMessageQuestion"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "text",
          "questions"
        ]
      },
      "ad_publishing_v3_CreateIntegrationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "pageId": {
            "type": "string",
            "description": "Facebook page ID",
            "example": "123456789"
          },
          "adAccountId": {
            "type": "string",
            "description": "Ad account identifier",
            "example": "act_123456"
          }
        },
        "required": [
          "locationId",
          "pageId"
        ]
      },
      "ad_publishing_v3_PublishAdDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_publishing_v3_UpsertConversionPixelDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "conversionPixelId": {
            "type": "string",
            "description": "Conversion pixel ID",
            "example": "px_123"
          },
          "name": {
            "type": "string",
            "description": "Pixel name",
            "example": "My Pixel"
          },
          "igUserId": {
            "type": "string",
            "description": "Instagram user ID",
            "example": "ig_user_123"
          },
          "type": {
            "type": "string",
            "description": "Pixel event type",
            "example": "LEAD_EVENT"
          }
        },
        "required": [
          "locationId",
          "type"
        ]
      },
      "ad_publishing_v3_FbUpdateAudienceBodyDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "HChooFuiyPpVYzeJ4HMe"
          },
          "name": {
            "type": "string",
            "description": "Audience name",
            "example": "My Custom Audience"
          },
          "description": {
            "type": "string",
            "description": "Audience description",
            "example": "Lookalike audience from website visitors"
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "ad_publishing_v3_UpdateCustomAudienceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "contactId": {
            "type": "string",
            "description": "Contact identifier",
            "example": "contact_123"
          },
          "fbAdAccountId": {
            "type": "string",
            "description": "Facebook ad account ID",
            "example": "act_123456"
          }
        },
        "required": [
          "locationId",
          "contactId"
        ]
      },
      "ad_publishing_v3_UpdateCustomAudienceBatchDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "csvPath": {
            "type": "string",
            "description": "CSV file path",
            "example": "/uploads/audience.csv"
          },
          "operationType": {
            "type": "string",
            "description": "Batch operation type",
            "example": "ADD"
          },
          "smartlistIds": {
            "description": "Smartlist IDs array",
            "example": [
              "list_1",
              "list_2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dynamicAudience": {
            "type": "string",
            "description": "Dynamic audience flag",
            "example": "true"
          }
        },
        "required": [
          "locationId",
          "operationType"
        ]
      },
      "ad_publishing_v3_FbSetDefaultPageBodyDTO": {
        "type": "object",
        "properties": {
          "pageId": {
            "type": "string",
            "description": "Facebook page identifier",
            "example": "103456789012345"
          }
        },
        "required": [
          "pageId"
        ]
      },
      "ad_publishing_v3_UpsertCampaignDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign identifier",
            "example": "camp_123"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Campaign"
          },
          "objective": {
            "type": "string",
            "description": "Campaign objective",
            "example": "LEAD_GENERATION",
            "enum": [
              "OUTCOME_LEADS",
              "OUTCOME_TRAFFIC",
              "OUTCOME_ENGAGEMENT",
              "OUTCOME_SALES"
            ]
          },
          "specialAdCategories": {
            "type": "array",
            "description": "Special ad categories",
            "example": [
              "NONE"
            ],
            "items": {
              "type": "string",
              "enum": [
                "EMPLOYMENT",
                "CREDIT",
                "FINANCIAL_PRODUCTS_SERVICES",
                "HOUSING",
                "ISSUES_ELECTIONS_POLITICS",
                "ONLINE_GAMBLING_AND_GAMING",
                "NONE"
              ]
            }
          },
          "source": {
            "type": "string",
            "description": "Campaign data source",
            "example": "facebook"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_publishing_v3_AudienceLocationGeometry": {
        "type": "object",
        "properties": {
          "location": {
            "type": "object",
            "description": "Geographic coordinates",
            "example": {
              "lat": 40.7128,
              "lng": -74.006
            }
          },
          "locationType": {
            "type": "string",
            "description": "Geocoding result type",
            "example": "APPROXIMATE"
          }
        },
        "required": [
          "location",
          "locationType"
        ]
      },
      "ad_publishing_v3_AudienceLocationDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Facebook location key",
            "example": "US"
          },
          "name": {
            "type": "string",
            "description": "Location display name",
            "example": "United States"
          },
          "type": {
            "type": "string",
            "description": "Geographic location type",
            "example": "country",
            "enum": [
              "country",
              "city",
              "region",
              "country_group",
              "geo_market",
              "large_geo_area",
              "medium_geo_area",
              "small_geo_area",
              "subcity",
              "neighborhood",
              "zip",
              "address"
            ]
          },
          "selectionType": {
            "type": "string",
            "description": "Whether the location is included or excluded from targeting",
            "example": "include",
            "enum": [
              "include",
              "exclude"
            ]
          },
          "radius": {
            "type": "number",
            "description": "Targeting radius around the location (for city/address types)",
            "example": 25
          },
          "radiusUnit": {
            "type": "string",
            "description": "Unit for the targeting radius",
            "example": "mi",
            "enum": [
              "km",
              "mi"
            ]
          },
          "geometry": {
            "description": "Geometry data for address-based targeting",
            "example": {
              "location": {
                "lat": 40.7128,
                "lng": -74.006
              },
              "locationType": "APPROXIMATE"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_AudienceLocationGeometry"
              }
            ]
          }
        },
        "required": [
          "key",
          "name",
          "type",
          "selectionType"
        ]
      },
      "ad_publishing_v3_AudienceLocaleDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Locale display name",
            "example": "English (US)"
          },
          "key": {
            "type": "number",
            "description": "Facebook locale key",
            "example": 6
          }
        },
        "required": [
          "name",
          "key"
        ]
      },
      "ad_publishing_v3_AudiencePlacementsDTO": {
        "type": "object",
        "properties": {
          "facebook": {
            "description": "Facebook placement positions",
            "example": [
              "feed",
              "right_hand_column",
              "marketplace"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "instagram": {
            "description": "Instagram placement positions",
            "example": [
              "stream",
              "story",
              "explore"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "messenger": {
            "description": "Messenger placement positions",
            "example": [
              "messenger_home"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_publishing_v3_AudienceCustomAudienceItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Custom audience ID",
            "example": "23851234567890"
          },
          "name": {
            "type": "string",
            "description": "Custom audience name",
            "example": "Website Visitors - Last 30 Days"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "ad_publishing_v3_AudienceInterestDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Interest ID",
            "example": "6003139266461"
          },
          "name": {
            "type": "string",
            "description": "Interest name",
            "example": "Fitness and wellness"
          },
          "type": {
            "type": "string",
            "description": "Interest category type (defaults to \"interests\" if omitted)",
            "example": "interests"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "ad_publishing_v3_FacebookAudienceDTO": {
        "type": "object",
        "properties": {
          "geoLocations": {
            "description": "Geographic locations to target or exclude",
            "example": [
              {
                "key": "US",
                "name": "United States",
                "type": "country",
                "selectionType": "include"
              },
              {
                "key": "2421836",
                "name": "New York",
                "type": "city",
                "selectionType": "include",
                "radius": 25,
                "radiusUnit": "mile"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AudienceLocationDTO"
            }
          },
          "locales": {
            "description": "Language locales to target",
            "example": [
              {
                "name": "English (US)",
                "key": 6
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AudienceLocaleDTO"
            }
          },
          "placements": {
            "description": "Ad placement positions per platform (only used when placementType is \"manual\")",
            "example": {
              "facebook": [
                "feed"
              ],
              "instagram": [
                "story"
              ],
              "messenger": [
                "messenger_home"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_AudiencePlacementsDTO"
              }
            ]
          },
          "placementType": {
            "type": "string",
            "description": "Placement strategy — \"auto\" lets Facebook choose, \"manual\" uses the placements config",
            "example": "auto",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "lookalike": {
            "description": "Lookalike audiences to target",
            "example": [
              {
                "id": "23851234567890",
                "name": "Lookalike - Website Visitors"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AudienceCustomAudienceItemDTO"
            }
          },
          "retargeting": {
            "description": "Retargeting custom audiences to target",
            "example": [
              {
                "id": "23851234567891",
                "name": "Website Visitors - Last 30 Days"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AudienceCustomAudienceItemDTO"
            }
          },
          "interests": {
            "description": "Interest-based targeting criteria",
            "example": [
              {
                "id": "6003139266461",
                "name": "Fitness and wellness",
                "type": "interests"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AudienceInterestDTO"
            }
          },
          "ageMin": {
            "type": "number",
            "description": "Minimum age for targeting",
            "example": 18
          },
          "ageMax": {
            "type": "number",
            "description": "Maximum age for targeting",
            "example": 65
          },
          "genders": {
            "description": "Gender targeting (1 = male, 2 = female)",
            "example": [
              1,
              2
            ],
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "geoLocations"
        ]
      },
      "ad_publishing_v3_Budget": {
        "type": "object",
        "properties": {
          "budgetType": {
            "type": "string",
            "description": "Budget type",
            "example": "DAILY",
            "enum": [
              "DAILY",
              "LIFETIME"
            ]
          },
          "amount": {
            "type": "number",
            "description": "Budget amount",
            "example": 1000
          },
          "scheduleStartDate": {
            "type": "string",
            "description": "Schedule start date",
            "example": "2024-01-01"
          },
          "scheduleEndDate": {
            "type": "string",
            "description": "Schedule end date",
            "example": "2024-01-31"
          }
        },
        "required": [
          "budgetType",
          "amount"
        ]
      },
      "ad_publishing_v3_UpsertAdsetDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad set identifier",
            "example": "adset_123"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Ad set name",
            "example": "Targeting Group A"
          },
          "pageId": {
            "type": "string",
            "description": "Facebook page ID",
            "example": "123456789"
          },
          "instagramActorId": {
            "type": "string",
            "description": "Instagram actor ID",
            "example": "ig_123"
          },
          "messagingPlatforms": {
            "type": "array",
            "description": "Messaging platforms",
            "example": [
              "WHATSAPP"
            ],
            "items": {
              "type": "string",
              "enum": [
                "WHATSAPP",
                "MESSENGER",
                "INSTAGRAM_DIRECT"
              ]
            }
          },
          "whatsappNumber": {
            "type": "string",
            "description": "WhatsApp phone number",
            "example": "+1234567890"
          },
          "audience": {
            "description": "Targeting audience configuration including geo-locations, locales, placements, and custom audiences",
            "example": {
              "geoLocations": [
                {
                  "key": "US",
                  "name": "United States",
                  "type": "country",
                  "selectionType": "include"
                }
              ],
              "ageMin": 18,
              "ageMax": 65,
              "genders": [
                1,
                2
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_FacebookAudienceDTO"
              }
            ]
          },
          "budget": {
            "description": "Ad set budget config",
            "example": {
              "budgetType": "DAILY",
              "amount": 1000,
              "scheduleStartDate": "2024-01-01",
              "scheduleEndDate": "2024-01-31"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_Budget"
              }
            ]
          },
          "conversionLocation": {
            "type": "string",
            "description": "Conversion location",
            "example": "website"
          },
          "customEventType": {
            "type": "string",
            "description": "Custom event type",
            "example": "Purchase"
          },
          "pixelId": {
            "type": "string",
            "description": "Conversion pixel ID",
            "example": "px_123"
          },
          "campaignId": {
            "type": "string",
            "description": "Parent campaign ID",
            "example": "camp_123"
          }
        },
        "required": [
          "locationId",
          "campaignId"
        ]
      },
      "ad_publishing_v3_MediaDTO": {
        "type": "object",
        "properties": {
          "src": {
            "type": "string",
            "description": "Media source URL",
            "example": "https://example.com/image.jpg"
          },
          "thumbnailUrl": {
            "type": "string",
            "description": "Thumbnail URL (required when type is video)",
            "example": "https://example.com/thumb.jpg"
          },
          "selectedPoster": {
            "type": "number",
            "description": "Selected poster index (required when type is video)",
            "example": 0
          },
          "type": {
            "type": "string",
            "description": "Media content type",
            "example": "IMAGE",
            "enum": [
              "image",
              "video"
            ]
          },
          "name": {
            "type": "string",
            "description": "Media file name",
            "example": "ad_image.jpg"
          },
          "headline": {
            "type": "string",
            "description": "Media headline",
            "example": "Great Offer"
          },
          "description": {
            "type": "string",
            "description": "Media description",
            "example": "Click to learn more"
          },
          "link": {
            "type": "string",
            "description": "Media destination link",
            "example": "https://example.com"
          }
        },
        "required": [
          "src",
          "type"
        ]
      },
      "ad_publishing_v3_UpsertAdDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad identifier",
            "example": "ad_123"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "name": {
            "type": "string",
            "description": "Ad name",
            "example": "My Ad Creative"
          },
          "primaryText": {
            "type": "string",
            "description": "Ad primary text",
            "example": "Check out our offer!"
          },
          "headline": {
            "type": "string",
            "description": "Ad headline text",
            "example": "Great Deal"
          },
          "description": {
            "type": "string",
            "description": "Ad description text",
            "example": "Limited time offer"
          },
          "imageUrl": {
            "type": "string",
            "description": "Ad image URL",
            "example": "https://example.com/img.jpg"
          },
          "mediaType": {
            "type": "string",
            "description": "Ad media type",
            "enum": [
              "SINGLE",
              "CAROUSEL"
            ],
            "example": "SINGLE"
          },
          "media": {
            "description": "Media items (images or videos) attached to the ad creative",
            "example": [
              {
                "src": "https://example.com/image.jpg",
                "thumbnailUrl": "https://example.com/thumb.jpg",
                "selectedPoster": 0,
                "type": "IMAGE",
                "name": "ad_image.jpg"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_MediaDTO"
            }
          },
          "multiAdvertiserAds": {
            "type": "boolean",
            "description": "Enable multi-advertiser ads",
            "example": false
          },
          "campaignId": {
            "type": "string",
            "description": "Parent campaign ID",
            "example": "camp_123"
          },
          "adsetId": {
            "type": "string",
            "description": "Parent ad set ID",
            "example": "adset_123"
          },
          "cta": {
            "type": "string",
            "description": "Call to action type",
            "example": "LEARN_MORE"
          },
          "conversationFormId": {
            "type": "string",
            "description": "Conversation form ID",
            "example": "conv_123"
          },
          "destinationLink": {
            "type": "string",
            "description": "Destination link URL",
            "example": "https://example.com"
          },
          "destinationFormId": {
            "type": "string",
            "description": "Destination form ID",
            "example": "form_123"
          }
        },
        "required": [
          "locationId",
          "campaignId",
          "adsetId"
        ]
      },
      "ad_publishing_v3_PublishingProgressResponseDTO": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string",
            "description": "Campaign identifier",
            "example": "507f1f77bcf86cd799439011"
          },
          "publishingStatus": {
            "type": "string",
            "description": "Current campaign publishing status in ad-publishing",
            "example": "PUBLISHING",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ]
          },
          "total": {
            "type": "number",
            "description": "Total publish steps tracked in Redis (campaign + ad sets + ads)",
            "example": 5
          },
          "processed": {
            "type": "number",
            "description": "Number of publish steps completed so far",
            "example": 2
          },
          "isComplete": {
            "type": "boolean",
            "description": "Whether publishing is finished (Redis complete/failed, processed >= total, or status is no longer PUBLISHING)",
            "example": false
          },
          "hasFailed": {
            "type": "boolean",
            "description": "Whether publishing failed (Redis failed status or campaign FAILED)",
            "example": false
          }
        },
        "required": [
          "campaignId",
          "publishingStatus",
          "total",
          "processed",
          "isComplete",
          "hasFailed"
        ]
      },
      "ad_publishing_v3_AdScheduleTargetDTO": {
        "type": "object",
        "properties": {
          "startMinute": {
            "type": "string",
            "description": "Minute mark the schedule starts at",
            "example": "ZERO",
            "enum": [
              "ZERO",
              "FIFTEEN",
              "THIRTY",
              "FORTY_FIVE"
            ]
          },
          "endMinute": {
            "type": "string",
            "description": "Minute mark the schedule ends at",
            "example": "ZERO",
            "enum": [
              "ZERO",
              "FIFTEEN",
              "THIRTY",
              "FORTY_FIVE"
            ]
          },
          "dayOfWeek": {
            "type": "string",
            "description": "Day of the week for this schedule",
            "example": "MONDAY",
            "enum": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY",
              "SUNDAY"
            ]
          },
          "startHour": {
            "type": "number",
            "description": "Start hour in 24h format (0-23)",
            "example": 9
          },
          "endHour": {
            "type": "number",
            "description": "End hour in 24h format (0-23)",
            "example": 17
          }
        },
        "required": [
          "startMinute",
          "endMinute",
          "dayOfWeek",
          "startHour",
          "endHour"
        ]
      },
      "ad_publishing_v3_CallAssetPayloadDTO": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "Phone number for call ads",
            "example": "+14155551234"
          },
          "countryCode": {
            "type": "string",
            "description": "Two-letter ISO country code",
            "example": "US"
          },
          "callConversionAction": {
            "type": "string",
            "description": "Call conversion action resource name",
            "example": "customers/123/conversionActions/456"
          },
          "adScheduleTargets": {
            "description": "Ad schedule targets restricting when the call asset is shown",
            "example": [
              {
                "startMinute": "ZERO",
                "endMinute": "ZERO",
                "dayOfWeek": "MONDAY",
                "startHour": 9,
                "endHour": 17
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AdScheduleTargetDTO"
            }
          },
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name for an existing call asset",
            "example": "customers/123/assets/456"
          }
        },
        "required": [
          "phoneNumber",
          "countryCode"
        ]
      },
      "ad_publishing_v3_SitelinkAssetPayloadDTO": {
        "type": "object",
        "properties": {
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name for an existing sitelink asset",
            "example": "customers/123/assets/456"
          },
          "linkText": {
            "type": "string",
            "description": "Sitelink display text",
            "example": "Pricing"
          },
          "finalUrls": {
            "type": "string",
            "description": "Final landing page URL",
            "example": "https://example.com/pricing"
          },
          "description1": {
            "type": "string",
            "description": "First description line",
            "example": "See our plans and pricing"
          },
          "description2": {
            "type": "string",
            "description": "Second description line",
            "example": "Starting at $9/month"
          },
          "startDate": {
            "type": "string",
            "description": "Start date for the sitelink (YYYY-MM-DD)",
            "example": "2024-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "End date for the sitelink (YYYY-MM-DD)",
            "example": "2024-12-31"
          },
          "adScheduleTargets": {
            "description": "Ad schedule targets restricting when the sitelink is shown",
            "example": [
              {
                "startMinute": "ZERO",
                "endMinute": "ZERO",
                "dayOfWeek": "MONDAY",
                "startHour": 9,
                "endHour": 17
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AdScheduleTargetDTO"
            }
          }
        },
        "required": [
          "linkText",
          "finalUrls"
        ]
      },
      "ad_publishing_v3_LeadFormFieldDTO": {
        "type": "object",
        "properties": {
          "inputType": {
            "type": "string",
            "description": "Field input type from Google Ads LeadFormFieldUserInputType",
            "example": "FULL_NAME"
          },
          "singleChoiceAnswers": {
            "description": "Single-choice answer options for the field",
            "example": [
              {
                "key": "option_1",
                "value": "Yes"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "inputType"
        ]
      },
      "ad_publishing_v3_CustomQuestionFieldDTO": {
        "type": "object",
        "properties": {
          "customQuestionText": {
            "type": "string",
            "description": "Custom question text shown to the user",
            "example": "What service are you interested in?"
          },
          "singleChoiceAnswers": {
            "description": "Answer choices for the custom question",
            "example": [
              {
                "answerTexts": [
                  "Web Design",
                  "SEO",
                  "PPC"
                ]
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "customQuestionText",
          "singleChoiceAnswers"
        ]
      },
      "ad_publishing_v3_LeadFormAssetPayloadDTO": {
        "type": "object",
        "properties": {
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name for an existing lead form asset",
            "example": "customers/123/assets/456"
          },
          "headline": {
            "type": "string",
            "description": "Lead form headline",
            "example": "Get a free quote"
          },
          "description": {
            "type": "string",
            "description": "Lead form description",
            "example": "Fill out this form and we will contact you within 24 hours"
          },
          "businessName": {
            "type": "string",
            "description": "Business name shown on the form",
            "example": "Acme Corp"
          },
          "privacyPolicyUrl": {
            "type": "string",
            "description": "Privacy policy URL",
            "example": "https://example.com/privacy"
          },
          "fields": {
            "description": "Form fields to collect user input",
            "example": [
              {
                "inputType": "FULL_NAME",
                "singleChoiceAnswers": []
              },
              {
                "inputType": "EMAIL",
                "singleChoiceAnswers": []
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_LeadFormFieldDTO"
            }
          },
          "callToActionType": {
            "type": "string",
            "description": "Call to action button type",
            "example": "GET_QUOTE",
            "enum": [
              "LEARN_MORE",
              "GET_QUOTE",
              "APPLY_NOW",
              "SIGN_UP",
              "CONTACT_US",
              "SUBSCRIBE",
              "DOWNLOAD",
              "BOOK_NOW",
              "GET_OFFER",
              "REGISTER",
              "GET_INFO",
              "REQUEST_DEMO",
              "JOIN_NOW",
              "GET_STARTED",
              "VISIT_SITE"
            ]
          },
          "callToActionDescription": {
            "type": "string",
            "description": "Description text for the CTA button",
            "example": "Request your free quote now"
          },
          "backgroundImageAsset": {
            "type": "string",
            "description": "Background image asset resource name",
            "example": "customers/123/assets/789"
          },
          "desiredIntent": {
            "type": "string",
            "description": "Desired lead intent level",
            "example": "HIGH_INTENT",
            "enum": [
              "LOW_INTENT",
              "HIGH_INTENT"
            ]
          },
          "customQuestionFields": {
            "description": "Custom question fields appended after standard fields",
            "example": [
              {
                "customQuestionText": "What service are you interested in?",
                "singleChoiceAnswers": [
                  {
                    "answerTexts": [
                      "Web Design",
                      "SEO"
                    ]
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_CustomQuestionFieldDTO"
            }
          },
          "postSubmitHeadline": {
            "type": "string",
            "description": "Headline shown after form submission",
            "example": "Thank you!"
          },
          "postSubmitDescription": {
            "type": "string",
            "description": "Description shown after form submission",
            "example": "We will be in touch shortly"
          },
          "postSubmitCallToActionType": {
            "type": "string",
            "description": "Post-submit CTA button type",
            "example": "VISIT_SITE",
            "enum": [
              "VISIT_SITE",
              "DOWNLOAD",
              "LEARN_MORE",
              "SHOP_NOW"
            ]
          },
          "finalUrls": {
            "type": "string",
            "description": "Final URL shown after form submission",
            "example": "https://example.com/thank-you"
          }
        },
        "required": [
          "headline",
          "description",
          "businessName",
          "privacyPolicyUrl",
          "fields",
          "callToActionType"
        ]
      },
      "ad_publishing_v3_ConversionValueSettings": {
        "type": "object",
        "properties": {
          "defaultValue": {
            "type": "number",
            "description": "Default monetary value assigned to each conversion",
            "example": 10
          },
          "defaultCurrencyCode": {
            "type": "string",
            "description": "ISO 4217 currency code for the default value",
            "example": "USD"
          },
          "alwaysUseDefaultValue": {
            "type": "boolean",
            "description": "When true, always uses the default value even if a transaction-specific value is provided",
            "example": false
          }
        },
        "required": [
          "defaultValue",
          "defaultCurrencyCode",
          "alwaysUseDefaultValue"
        ]
      },
      "ad_publishing_v3_UpsertConversionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "conversionId": {
            "type": "string",
            "description": "Conversion identifier",
            "example": "conv_456"
          },
          "name": {
            "type": "string",
            "description": "Conversion name",
            "example": "Purchase Conversion"
          },
          "type": {
            "type": "string",
            "description": "Conversion type",
            "example": "WEBPAGE",
            "enum": [
              "UPLOAD_CLICKS",
              "UPLOAD_CALLS",
              "WEBPAGE",
              "LEAD_FORM_SUBMIT"
            ]
          },
          "category": {
            "type": "string",
            "description": "Conversion category",
            "example": "PURCHASE"
          },
          "valueSettings": {
            "description": "Value settings that control how monetary value is attributed to conversions",
            "example": {
              "defaultValue": "10.00",
              "defaultCurrencyCode": "USD",
              "alwaysUseDefaultValue": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_ConversionValueSettings"
              }
            ]
          },
          "countingType": {
            "type": "string",
            "description": "How conversions are counted per interaction",
            "example": "ONE_PER_CLICK",
            "enum": [
              "ONE_PER_CLICK",
              "MANY_PER_CLICK"
            ]
          },
          "attributionModel": {
            "type": "string",
            "description": "Attribution model used to credit conversions",
            "example": "GOOGLE_ADS_LAST_CLICK",
            "enum": [
              "GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN",
              "GOOGLE_ADS_LAST_CLICK"
            ]
          },
          "clickThroughWindow": {
            "type": "number",
            "description": "Click-through conversion window in days",
            "example": 30
          }
        },
        "required": [
          "locationId",
          "name",
          "type",
          "category",
          "valueSettings",
          "countingType",
          "attributionModel",
          "clickThroughWindow"
        ]
      },
      "ad_publishing_v3_CreateGoogleIntegrationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "adAccountId": {
            "type": "string",
            "description": "Ad account identifier",
            "example": "123-456-7890"
          },
          "mccId": {
            "type": "string",
            "description": "MCC identifier",
            "example": "987-654-3210"
          }
        },
        "required": [
          "locationId",
          "adAccountId",
          "mccId"
        ]
      },
      "ad_publishing_v3_KeywordSuggestionDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Target URL",
            "example": "https://example.com"
          },
          "languageCode": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          },
          "locations": {
            "description": "Target locations",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "description": "Seed keywords",
            "example": [
              "marketing"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "url"
        ]
      },
      "ad_publishing_v3_UpsertAssetsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "type": {
            "type": "string",
            "description": "Asset type to create or update",
            "example": "CALL",
            "enum": [
              "CALL",
              "SITELINK",
              "LEAD_FORM"
            ]
          },
          "payload": {
            "description": "Asset payload — shape depends on the type field: CallAssetPayload (CALL), SitelinkAssetPayload (SITELINK), or LeadFormAssetPayload (LEAD_FORM)",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_CallAssetPayloadDTO"
              },
              {
                "$ref": "#/components/schemas/ad_publishing_v3_SitelinkAssetPayloadDTO"
              },
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LeadFormAssetPayloadDTO"
              }
            ],
            "example": {
              "phoneNumber": "+14155551234",
              "countryCode": "US"
            }
          }
        },
        "required": [
          "locationId",
          "type",
          "payload"
        ]
      },
      "ad_publishing_v3_MemberDTO": {
        "type": "object",
        "properties": {
          "memberType": {
            "type": "string",
            "description": "Member type",
            "example": "KEYWORD",
            "enum": [
              "KEYWORD",
              "URL",
              "APP"
            ]
          },
          "keyword": {
            "type": "string",
            "description": "Keyword value",
            "example": "marketing"
          },
          "url": {
            "type": "string",
            "description": "URL value",
            "example": "https://example.com"
          },
          "app": {
            "type": "string",
            "description": "App identifier",
            "example": "com.example.app"
          }
        },
        "required": [
          "memberType"
        ]
      },
      "ad_publishing_v3_StringRuleItemDTO": {
        "type": "object",
        "properties": {
          "operator": {
            "type": "string",
            "description": "Rule operator",
            "example": "CONTAINS"
          },
          "value": {
            "type": "string",
            "description": "Rule value",
            "example": "/products"
          }
        },
        "required": [
          "operator",
          "value"
        ]
      },
      "ad_publishing_v3_RuleItemDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Rule item name",
            "enum": [
              "url__",
              "referrer__"
            ],
            "example": "url__"
          },
          "stringRuleItem": {
            "description": "String rule item condition",
            "example": {
              "operator": "CONTAINS",
              "value": "/products"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_StringRuleItemDTO"
              }
            ]
          }
        },
        "required": [
          "name",
          "stringRuleItem"
        ]
      },
      "ad_publishing_v3_RuleItemGroupDTO": {
        "type": "object",
        "properties": {
          "ruleItems": {
            "description": "List of rule items",
            "example": [
              {
                "name": "url__",
                "stringRuleItem": {
                  "operator": "CONTAINS",
                  "value": "/products"
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_RuleItemDTO"
            }
          }
        },
        "required": [
          "ruleItems"
        ]
      },
      "ad_publishing_v3_RuleDTO": {
        "type": "object",
        "properties": {
          "ruleItemGroups": {
            "description": "List of rule item groups",
            "example": [
              {
                "ruleItems": [
                  {
                    "name": "url__",
                    "stringRuleItem": {
                      "operator": "CONTAINS",
                      "value": "/products"
                    }
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_RuleItemGroupDTO"
            }
          }
        },
        "required": [
          "ruleItemGroups"
        ]
      },
      "ad_publishing_v3_RuleOperandDTO": {
        "type": "object",
        "properties": {
          "lookbackWindowDays": {
            "type": "number",
            "description": "Lookback window in days",
            "example": 30
          },
          "rule": {
            "description": "Rule definition",
            "example": {
              "ruleItemGroups": [
                {
                  "ruleItems": [
                    {
                      "name": "url__",
                      "stringRuleItem": {
                        "operator": "CONTAINS",
                        "value": "/products"
                      }
                    }
                  ]
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_RuleDTO"
              }
            ]
          }
        },
        "required": [
          "lookbackWindowDays",
          "rule"
        ]
      },
      "ad_publishing_v3_FlexibleRuleUserListDTO": {
        "type": "object",
        "properties": {
          "inclusiveRuleOperator": {
            "type": "string",
            "description": "Operator for combining inclusive operands",
            "example": "AND"
          },
          "inclusiveOperands": {
            "description": "Inclusive rule operands",
            "example": [
              {
                "lookbackWindowDays": 30,
                "rule": {
                  "ruleItemGroups": []
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_RuleOperandDTO"
            }
          },
          "exclusiveOperands": {
            "description": "Exclusive rule operands",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_RuleOperandDTO"
            }
          }
        },
        "required": [
          "inclusiveOperands",
          "exclusiveOperands"
        ]
      },
      "ad_publishing_v3_RuleBasedUserListDTO": {
        "type": "object",
        "properties": {
          "prepopulationStatus": {
            "type": "string",
            "description": "Prepopulation status",
            "enum": [
              "REQUESTED"
            ],
            "example": "REQUESTED"
          },
          "flexibleRuleUserList": {
            "description": "Flexible rule user list configuration",
            "example": {
              "inclusiveRuleOperator": "AND",
              "inclusiveOperands": [],
              "exclusiveOperands": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_FlexibleRuleUserListDTO"
              }
            ]
          }
        },
        "required": [
          "flexibleRuleUserList"
        ]
      },
      "ad_publishing_v3_UpsertSegmentDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Segment name",
            "example": "My Segment"
          },
          "description": {
            "type": "string",
            "description": "Segment description",
            "example": "Target audience segment"
          },
          "members": {
            "description": "Segment members — keywords, URLs, or apps that define the custom segment",
            "example": [
              {
                "memberType": "KEYWORD",
                "keyword": "digital marketing"
              },
              {
                "memberType": "URL",
                "url": "https://example.com"
              },
              {
                "memberType": "APP",
                "app": "com.example.app"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_MemberDTO"
            }
          },
          "status": {
            "type": "string",
            "description": "Segment status",
            "example": "ENABLED"
          },
          "type": {
            "type": "string",
            "description": "Segment type",
            "example": "CUSTOM_SEGMENTS"
          },
          "id": {
            "type": "string",
            "description": "Segment identifier",
            "example": "seg_123"
          },
          "membershipStatus": {
            "type": "string",
            "description": "Membership status",
            "example": "OPEN"
          },
          "ruleBasedUserList": {
            "description": "Rule-based user list config",
            "example": {
              "prepopulationStatus": "REQUESTED",
              "flexibleRuleUserList": {
                "inclusiveOperands": [],
                "exclusiveOperands": []
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_RuleBasedUserListDTO"
              }
            ]
          },
          "membershipLifeSpan": {
            "type": "number",
            "description": "Membership life span",
            "example": 30
          },
          "seedUserListIds": {
            "description": "Seed user list IDs",
            "example": [
              "list_1"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "countryCodes": {
            "description": "Country codes",
            "example": [
              "US",
              "CA"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expansionLevel": {
            "type": "string",
            "description": "Expansion level",
            "example": "BALANCED",
            "enum": [
              "BALANCED",
              "BROAD",
              "NARROW"
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "ad_publishing_v3_CreateOfflineUserListJobDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "smartListIds": {
            "description": "Smart list IDs",
            "example": [
              "sl_123"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "csvPath": {
            "type": "string",
            "description": "CSV file path",
            "example": "/uploads/users.csv"
          },
          "userListId": {
            "type": "string",
            "description": "User list identifier",
            "example": "ul_123"
          },
          "isDynamic": {
            "type": "boolean",
            "description": "Dynamic list flag",
            "example": false
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_publishing_v3_AudienceSegmentsDTO": {
        "type": "object",
        "properties": {
          "customAudiences": {
            "description": "Resource names of custom audience segments",
            "example": [
              "customers/123/customAudiences/456"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userLists": {
            "description": "Resource names of user lists (remarketing lists, customer match lists, etc.)",
            "example": [
              "customers/123/userLists/789"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userInterests": {
            "description": "Resource names of user interest segments (in-market or affinity audiences)",
            "example": [
              "customers/123/userInterests/321"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_publishing_v3_AudienceDimensionDTO": {
        "type": "object",
        "properties": {
          "isAgeUnknown": {
            "type": "boolean",
            "description": "Include unknown age",
            "example": false
          },
          "ageRanges": {
            "description": "Age range filters",
            "example": [
              {
                "minAge": 25,
                "maxAge": 34
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "genders": {
            "description": "Gender targets",
            "example": [
              "MALE",
              "FEMALE"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "parentalStatuses": {
            "description": "Parental status targets",
            "example": [
              "PARENT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "audienceSegments": {
            "description": "Audience segment references used for targeting",
            "example": {
              "customAudiences": [
                "customers/123/customAudiences/456"
              ],
              "userLists": [],
              "userInterests": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_AudienceSegmentsDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_UpsertAudienceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "resourceName": {
            "type": "string",
            "description": "Audience resource name",
            "example": "customers/123/audiences/456"
          },
          "name": {
            "type": "string",
            "description": "Audience name",
            "example": "My Audience"
          },
          "dimensions": {
            "description": "Audience dimensions",
            "example": {
              "isAgeUnknown": false,
              "ageRanges": [
                {
                  "minAge": 25,
                  "maxAge": 34
                }
              ],
              "genders": [
                "MALE",
                "FEMALE"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_AudienceDimensionDTO"
              }
            ]
          },
          "exclusionDimension": {
            "description": "Exclusion dimensions",
            "example": {
              "genders": [
                "UNDETERMINED"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_AudienceDimensionDTO"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "ad_publishing_v3_GoogleBudgetDTO": {
        "type": "object",
        "properties": {
          "budgetType": {
            "type": "string",
            "description": "Budget type",
            "enum": [
              "DAILY",
              "LIFETIME"
            ],
            "example": "DAILY"
          },
          "amount": {
            "type": "number",
            "description": "Budget amount in micros",
            "example": 5000
          },
          "scheduleStartDate": {
            "type": "string",
            "description": "Schedule start date",
            "example": "2024-01-01"
          },
          "scheduleEndDate": {
            "type": "string",
            "description": "Schedule end date",
            "example": "2024-12-31"
          }
        }
      },
      "ad_publishing_v3_GeoLatLngDTO": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "description": "Latitude",
            "example": 40.7128
          },
          "lng": {
            "type": "number",
            "description": "Longitude",
            "example": -74.006
          }
        }
      },
      "ad_publishing_v3_GeoViewportDTO": {
        "type": "object",
        "properties": {
          "northeast": {
            "description": "Northeast corner of the viewport",
            "example": {
              "lat": 40.8,
              "lng": -73.9
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GeoLatLngDTO"
              }
            ]
          },
          "southwest": {
            "description": "Southwest corner of the viewport",
            "example": {
              "lat": 40.6,
              "lng": -74.1
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GeoLatLngDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_GeoGeometryDTO": {
        "type": "object",
        "properties": {
          "location": {
            "description": "Location coordinates",
            "example": {
              "lat": 40.7128,
              "lng": -74.006
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GeoLatLngDTO"
              }
            ]
          },
          "locationType": {
            "type": "string",
            "description": "Location type (e.g. APPROXIMATE)",
            "example": "APPROXIMATE"
          },
          "viewport": {
            "description": "Viewport bounding box",
            "example": {
              "northeast": {
                "lat": 40.8,
                "lng": -73.9
              },
              "southwest": {
                "lat": 40.6,
                "lng": -74.1
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GeoViewportDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_GeoAddressComponentDTO": {
        "type": "object",
        "properties": {
          "longName": {
            "type": "string",
            "description": "Full name of the address component",
            "example": "New York"
          },
          "shortName": {
            "type": "string",
            "description": "Abbreviated name of the address component",
            "example": "NY"
          },
          "types": {
            "description": "Address component types",
            "example": [
              "locality",
              "political"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_publishing_v3_GoogleGeoLocationDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Geo target constant resource name",
            "example": "geoTargetConstants/2840"
          },
          "id": {
            "type": "string",
            "description": "Location identifier (place_id)",
            "example": "ChIJOwg_06VPwokRYv534QaPC8g"
          },
          "name": {
            "type": "string",
            "description": "Location display name",
            "example": "New York"
          },
          "countryName": {
            "type": "string",
            "description": "Country name",
            "example": "United States"
          },
          "type": {
            "type": "string",
            "description": "Location type (city, region, country, address, etc.)",
            "example": "city"
          },
          "radius": {
            "type": "number",
            "description": "Radius for proximity targeting",
            "example": 25
          },
          "radiusUnit": {
            "type": "string",
            "description": "Radius unit",
            "enum": [
              "km",
              "mi"
            ],
            "example": "mi"
          },
          "selectionType": {
            "type": "string",
            "description": "Include or exclude this location",
            "enum": [
              "include",
              "exclude"
            ],
            "example": "include"
          },
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name",
            "example": "customers/123/geoTargetConstants/2840"
          },
          "placeId": {
            "type": "string",
            "description": "Google place ID",
            "example": "ChIJOwg_06VPwokRYv534QaPC8g"
          },
          "formattedAddress": {
            "type": "string",
            "description": "Full formatted address string",
            "example": "New York, NY, USA"
          },
          "geometry": {
            "description": "Geometry data from Google Geocoding API",
            "example": {
              "location": {
                "lat": 40.7128,
                "lng": -74.006
              },
              "locationType": "APPROXIMATE"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GeoGeometryDTO"
              }
            ]
          },
          "addressComponents": {
            "description": "Address components from Google Geocoding API",
            "example": [
              {
                "longName": "New York",
                "shortName": "NY",
                "types": [
                  "locality",
                  "political"
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GeoAddressComponentDTO"
            }
          }
        }
      },
      "ad_publishing_v3_GoogleLocaleDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Language display name",
            "example": "English"
          },
          "key": {
            "type": "string",
            "description": "Language key",
            "example": "1000"
          },
          "id": {
            "type": "string",
            "description": "Language identifier",
            "example": "1000"
          },
          "resourceName": {
            "type": "string",
            "description": "Language resource name",
            "example": "languageConstants/1000"
          }
        }
      },
      "ad_publishing_v3_GoogleDemographicTargetDTO": {
        "type": "object",
        "properties": {
          "enum": {
            "type": "string",
            "description": "Demographic enum value",
            "example": "MALE"
          },
          "negative": {
            "type": "boolean",
            "description": "Whether this is a negative target",
            "example": false
          }
        },
        "required": [
          "enum",
          "negative"
        ]
      },
      "ad_publishing_v3_GoogleSegmentTargetDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Segment type",
            "example": "USER_LIST"
          },
          "id": {
            "type": "string",
            "description": "Segment identifier",
            "example": "customers/123/userLists/456"
          }
        },
        "required": [
          "type",
          "id"
        ]
      },
      "ad_publishing_v3_GoogleTargetInterestsDTO": {
        "type": "object",
        "properties": {
          "affinity": {
            "description": "Affinity audience IDs",
            "example": [
              "customers/123/userInterests/789"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inMarket": {
            "description": "In-market audience IDs",
            "example": [
              "customers/123/userInterests/321"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ad_publishing_v3_GoogleCampaignAudienceDTO": {
        "type": "object",
        "properties": {
          "geoLocations": {
            "description": "Geo-location targeting",
            "example": [
              {
                "key": "geoTargetConstants/2840",
                "name": "United States",
                "type": "country"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleGeoLocationDTO"
            }
          },
          "locales": {
            "description": "Language/locale targeting",
            "example": [
              {
                "name": "English",
                "key": "1000"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleLocaleDTO"
            }
          },
          "gender": {
            "description": "Gender targeting",
            "example": [
              {
                "enum": "MALE",
                "negative": false
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleDemographicTargetDTO"
            }
          },
          "ageRange": {
            "description": "Age range targeting",
            "example": [
              {
                "enum": "AGE_RANGE_25_34",
                "negative": false
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleDemographicTargetDTO"
            }
          },
          "segments": {
            "description": "Audience segment targeting",
            "example": [
              {
                "type": "USER_LIST",
                "id": "customers/123/userLists/456"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleSegmentTargetDTO"
            }
          },
          "targetInterests": {
            "description": "Interest-based targeting",
            "example": {
              "affinity": [
                "customers/123/userInterests/789"
              ],
              "inMarket": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleTargetInterestsDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_GoogleNetworkSettingsDTO": {
        "type": "object",
        "properties": {
          "targetSearchNetwork": {
            "type": "boolean",
            "description": "Target Google Search Network",
            "example": true
          },
          "targetContentNetwork": {
            "type": "boolean",
            "description": "Target Google Display Network",
            "example": false
          }
        },
        "required": [
          "targetSearchNetwork",
          "targetContentNetwork"
        ]
      },
      "ad_publishing_v3_GoogleBiddingStrategyDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Bidding strategy type",
            "example": "MAXIMIZE_CONVERSIONS"
          },
          "value": {
            "type": "number",
            "description": "Bid value in micros",
            "example": 1000000
          }
        }
      },
      "ad_publishing_v3_GoogleAssetImageDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Image URL",
            "example": "https://example.com/logo.png"
          },
          "resourceName": {
            "type": "string",
            "description": "Google Ads resource name",
            "example": "customers/123/assets/456"
          },
          "name": {
            "type": "string",
            "description": "Asset name",
            "example": "Logo"
          },
          "error": {
            "type": "string",
            "description": "Error message if asset upload failed",
            "example": "Image too large"
          }
        },
        "required": [
          "url"
        ]
      },
      "ad_publishing_v3_GoogleAssetsDTO": {
        "type": "object",
        "properties": {
          "calls": {
            "description": "Call extension asset resource names",
            "example": [
              "customers/123/assets/456"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sitelinks": {
            "description": "Sitelink asset resource names",
            "example": [
              "customers/123/assets/789"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "leadForm": {
            "type": "string",
            "description": "Lead form asset resource name",
            "example": "customers/123/assets/321"
          },
          "images": {
            "description": "Image assets",
            "example": [
              {
                "url": "https://example.com/logo.png",
                "name": "Logo"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleAssetImageDTO"
            }
          },
          "businessLogo": {
            "description": "Business logo asset",
            "example": {
              "url": "https://example.com/logo.png",
              "name": "Business Logo"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleAssetImageDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_GoogleMediaDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Media type",
            "enum": [
              "IMAGE"
            ],
            "example": "IMAGE"
          },
          "src": {
            "type": "string",
            "description": "Media source URL",
            "example": "https://example.com/image.jpg"
          },
          "isLogo": {
            "type": "boolean",
            "description": "Is logo flag",
            "example": false
          },
          "error": {
            "type": "string",
            "description": "Error message if media failed",
            "example": "Invalid format"
          },
          "url": {
            "type": "string",
            "description": "Public URL of the media",
            "example": "https://example.com/image.jpg"
          },
          "imageType": {
            "type": "string",
            "description": "Image type classification",
            "example": "SQUARE"
          }
        }
      },
      "ad_publishing_v3_GoogleYouTubeVideoLinkDTO": {
        "type": "object",
        "properties": {
          "youtubeVideoId": {
            "type": "string",
            "description": "YouTube video ID",
            "example": "dQw4w9WgXcQ"
          }
        },
        "required": [
          "youtubeVideoId"
        ]
      },
      "ad_publishing_v3_GoogleCarouselCardDTO": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string",
            "description": "Card headline",
            "example": "Shop Now"
          },
          "finalUrl": {
            "type": "string",
            "description": "Card final URL",
            "example": "https://example.com"
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label",
            "example": "LEARN_MORE"
          },
          "media": {
            "description": "Card media items",
            "example": [
              {
                "type": "IMAGE",
                "src": "https://example.com/card.jpg"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleMediaDTO"
            }
          }
        }
      },
      "ad_publishing_v3_GoogleAdContentDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad identifier",
            "example": "ad_abc123"
          },
          "name": {
            "type": "string",
            "description": "Ad name",
            "example": "Summer Sale Ad"
          },
          "mediaType": {
            "type": "string",
            "description": "Media type",
            "enum": [
              "IMAGE",
              "VIDEO",
              "CAROUSEL"
            ],
            "example": "IMAGE"
          },
          "headlines": {
            "description": "Ad headlines",
            "example": [
              "Buy Now",
              "Best Deals"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "longHeadlines": {
            "description": "Long headlines",
            "example": [
              "Discover Great Deals Today"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "descriptions": {
            "description": "Ad descriptions",
            "example": [
              "Great products"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "finalUrl": {
            "type": "string",
            "description": "Final URL",
            "example": "https://example.com"
          },
          "path1": {
            "type": "string",
            "description": "Display path 1",
            "example": "products"
          },
          "path2": {
            "type": "string",
            "description": "Display path 2",
            "example": "deals"
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Whether the ad is soft-deleted",
            "example": false
          },
          "adError": {
            "type": "string",
            "description": "Ad-level error message from Google",
            "example": "Landing page URL is invalid"
          },
          "publishingStatus": {
            "type": "string",
            "description": "Ad publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ],
            "example": "PUBLISHED"
          },
          "adId": {
            "type": "string",
            "description": "Internal ad identifier",
            "example": "ad_internal_abc"
          },
          "adCampaignId": {
            "type": "string",
            "description": "Ad campaign identifier",
            "example": "camp_abc123"
          },
          "adGroupId": {
            "type": "string",
            "description": "Ad group identifier",
            "example": "ag_abc123"
          },
          "googleAdId": {
            "type": "string",
            "description": "Google Ads ad resource ID",
            "example": "customers/123/ads/456"
          },
          "media": {
            "description": "Ad media items",
            "example": [
              {
                "type": "IMAGE",
                "src": "https://example.com/ad.jpg"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleMediaDTO"
            }
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label",
            "enum": [
              "AUTOMATED",
              "LEARN_MORE",
              "GET_QUOTE",
              "APPLY_NOW",
              "SIGN_UP",
              "CONTACT_US",
              "SUBSCRIBE",
              "DOWNLOAD",
              "BOOK_NOW",
              "SHOP_NOW",
              "BUY_NOW",
              "DONATE_NOW",
              "ORDER_NOW",
              "PLAY_NOW",
              "SEE_MORE"
            ],
            "example": "LEARN_MORE"
          },
          "businessName": {
            "type": "string",
            "description": "Business name",
            "example": "Acme Corp"
          },
          "youtubeVideoLinks": {
            "description": "YouTube video links",
            "example": [
              {
                "youtubeVideoId": "dQw4w9WgXcQ"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleYouTubeVideoLinkDTO"
            }
          },
          "carouselCards": {
            "description": "Carousel cards",
            "example": [
              {
                "headline": "Shop Now",
                "finalUrl": "https://example.com",
                "callToActionLabel": "LEARN_MORE"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleCarouselCardDTO"
            }
          },
          "placements": {
            "type": "array",
            "description": "Channel placements",
            "example": [
              "YOUTUBE"
            ],
            "items": {
              "type": "string",
              "enum": [
                "GMAIL",
                "YOUTUBE_IN_STREAM",
                "YOUTUBE_SHORTS",
                "YOUTUBE_IN_FEED",
                "DISCOVER",
                "DISPLAY"
              ]
            }
          },
          "customChannels": {
            "type": "boolean",
            "description": "Custom channels flag",
            "example": false
          }
        }
      },
      "ad_publishing_v3_GoogleKeywordItemDTO": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "description": "Keyword text",
            "example": "digital marketing"
          },
          "matchType": {
            "type": "string",
            "description": "Match type (BROAD, PHRASE, EXACT)",
            "example": "BROAD"
          }
        },
        "required": [
          "keyword",
          "matchType"
        ]
      },
      "ad_publishing_v3_GoogleKeywordsDTO": {
        "type": "object",
        "properties": {
          "positives": {
            "description": "Positive keywords",
            "example": [
              {
                "keyword": "digital marketing",
                "matchType": "BROAD"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleKeywordItemDTO"
            }
          },
          "negatives": {
            "description": "Negative keywords",
            "example": [
              {
                "keyword": "free",
                "matchType": "EXACT"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleKeywordItemDTO"
            }
          }
        }
      },
      "ad_publishing_v3_GoogleAdGroupAudienceDTO": {
        "type": "object",
        "properties": {
          "geoLocations": {
            "description": "Geo-location targeting",
            "example": [
              {
                "key": "geoTargetConstants/2840",
                "name": "United States",
                "type": "country"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleGeoLocationDTO"
            }
          },
          "locales": {
            "description": "Language/locale targeting",
            "example": [
              {
                "name": "English",
                "key": "1000"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleLocaleDTO"
            }
          }
        }
      },
      "ad_publishing_v3_GoogleAdGroupDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad group identifier",
            "example": "ag_abc123"
          },
          "adGroupId": {
            "type": "string",
            "description": "Google ad group identifier",
            "example": "customers/123/adGroups/456"
          },
          "name": {
            "type": "string",
            "description": "Ad group name",
            "example": "Ad Group 1"
          },
          "adCampaignId": {
            "type": "string",
            "description": "Ad campaign identifier",
            "example": "camp_abc123"
          },
          "adContent": {
            "description": "Ad content items",
            "example": [
              {
                "id": "ad_1",
                "name": "Summer Sale Ad",
                "mediaType": "IMAGE"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleAdContentDTO"
            }
          },
          "keywords": {
            "description": "Keyword targeting",
            "example": {
              "positives": [
                {
                  "keyword": "digital marketing",
                  "matchType": "BROAD"
                }
              ],
              "negatives": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleKeywordsDTO"
              }
            ]
          },
          "publishingStatus": {
            "type": "string",
            "description": "Ad group publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ],
            "example": "PUBLISHED"
          },
          "adGroupError": {
            "type": "string",
            "description": "Ad group-level error from Google",
            "example": "Keyword policy violation"
          },
          "googleAdGroupId": {
            "type": "string",
            "description": "Google Ads ad group resource ID",
            "example": "customers/123/adGroups/456"
          },
          "customChannels": {
            "type": "boolean",
            "description": "Custom channels flag",
            "example": false
          },
          "selectedChannels": {
            "type": "array",
            "description": "Selected channel placements",
            "example": [
              "YOUTUBE"
            ],
            "items": {
              "type": "string",
              "enum": [
                "GMAIL",
                "YOUTUBE_IN_STREAM",
                "YOUTUBE_SHORTS",
                "YOUTUBE_IN_FEED",
                "DISCOVER",
                "DISPLAY"
              ]
            }
          },
          "googleAudienceId": {
            "type": "string",
            "description": "Google audience resource ID",
            "example": "customers/123/audiences/789"
          },
          "audience": {
            "description": "Ad group audience targeting",
            "example": {
              "geoLocations": [
                {
                  "key": "geoTargetConstants/2840",
                  "name": "United States"
                }
              ],
              "locales": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleAdGroupAudienceDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_GoogleCampaignGoalDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Campaign goal type",
            "enum": [
              "CONVERSIONS",
              "CLICK",
              "YOUTUBE_ENGAGEMENT"
            ],
            "example": "WEBSITE_TRAFFIC"
          },
          "value": {
            "type": "string",
            "description": "Goal value (e.g. conversion action resource name)",
            "example": "customers/123/conversionActions/456"
          },
          "isCustomConversionGoal": {
            "type": "boolean",
            "description": "Whether this is a custom conversion goal",
            "example": false
          }
        },
        "required": [
          "type"
        ]
      },
      "ad_publishing_v3_GoogleAdScheduleDTO": {
        "type": "object",
        "properties": {
          "dayOfWeek": {
            "type": "string",
            "description": "Day of week",
            "enum": [
              "FRIDAY",
              "MONDAY",
              "SATURDAY",
              "SUNDAY",
              "THURSDAY",
              "TUESDAY",
              "UNKNOWN",
              "UNSPECIFIED",
              "WEDNESDAY",
              "ALL_DAYS",
              "MONDAY_TO_FRIDAY",
              "SATURDAY_AND_SUNDAY"
            ],
            "example": "MONDAY"
          },
          "from": {
            "type": "string",
            "description": "Start time (HH:MM)",
            "example": "09:00"
          },
          "to": {
            "type": "string",
            "description": "End time (HH:MM)",
            "example": "17:00"
          }
        },
        "required": [
          "dayOfWeek",
          "from",
          "to"
        ]
      },
      "ad_publishing_v3_CampaignDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign identifier",
            "example": "camp_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "My Campaign"
          },
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_abc123"
          },
          "advertisingChannelType": {
            "type": "string",
            "description": "Advertising channel",
            "enum": [
              "SEARCH",
              "DISCOVERY",
              "DISPLAY",
              "HOTEL",
              "LOCAL",
              "MULTI_CHANNEL",
              "PERFORMANCE_MAX",
              "DEMAND_GEN"
            ],
            "example": "SEARCH"
          },
          "advertisingChannelSubType": {
            "type": "string",
            "description": "Channel sub type",
            "enum": [
              "DEMAND_GEN"
            ],
            "example": "SEARCH_MOBILE_APP"
          },
          "goalType": {
            "type": "string",
            "description": "Goal type",
            "enum": [
              "WEBSITE_TRAFFIC",
              "LEAD"
            ],
            "example": "WEBSITE_TRAFFIC"
          },
          "budget": {
            "description": "Campaign budget",
            "example": {
              "budgetType": "DAILY",
              "amount": 5000,
              "scheduleStartDate": "2024-01-01"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleBudgetDTO"
              }
            ]
          },
          "audience": {
            "description": "Campaign audience targeting",
            "example": {
              "geoLocations": [
                {
                  "key": "geoTargetConstants/2840",
                  "name": "United States"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleCampaignAudienceDTO"
              }
            ]
          },
          "networkSettings": {
            "description": "Network settings",
            "example": {
              "targetSearchNetwork": true,
              "targetContentNetwork": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleNetworkSettingsDTO"
              }
            ]
          },
          "biddingStrategy": {
            "description": "Bidding strategy config",
            "example": {
              "type": "MAXIMIZE_CONVERSIONS",
              "value": 1000000
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleBiddingStrategyDTO"
              }
            ]
          },
          "assets": {
            "description": "Campaign assets",
            "example": {
              "calls": [],
              "sitelinks": [],
              "images": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleAssetsDTO"
              }
            ]
          },
          "isEuPoliticalAds": {
            "type": "boolean",
            "description": "EU political ads flag",
            "example": false
          },
          "adGroups": {
            "description": "Campaign ad groups",
            "example": [
              {
                "id": "ag_1",
                "name": "Ad Group 1",
                "adContent": []
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleAdGroupDTO"
            }
          },
          "campaignGoal": {
            "description": "Campaign goal config",
            "example": {
              "type": "WEBSITE_TRAFFIC",
              "isCustomConversionGoal": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_GoogleCampaignGoalDTO"
              }
            ]
          },
          "adSchedule": {
            "description": "Ad schedule rules",
            "example": [
              {
                "dayOfWeek": "MONDAY",
                "from": "09:00",
                "to": "17:00"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GoogleAdScheduleDTO"
            }
          },
          "publishingStatus": {
            "type": "string",
            "description": "Publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ],
            "example": "PUBLISHED"
          },
          "googleAdAccountId": {
            "type": "string",
            "description": "Google Ad account identifier",
            "example": "123-456-7890"
          },
          "unpublishedChanges": {
            "type": "boolean",
            "description": "Whether the campaign has unpublished changes",
            "example": false
          },
          "maximumCpc": {
            "type": "number",
            "description": "Maximum CPC bid in micros",
            "example": 2000000
          },
          "googleCampaignId": {
            "type": "string",
            "description": "Google Ads campaign resource ID",
            "example": "customers/123/campaigns/456"
          },
          "source": {
            "type": "string",
            "description": "Traffic source",
            "example": "WEBSITE"
          },
          "advancedOptions": {
            "type": "object",
            "description": "Advanced options",
            "example": {
              "source": "WEBSITE",
              "postId": "post_abc123"
            }
          }
        },
        "required": [
          "name",
          "locationId",
          "advertisingChannelType"
        ]
      },
      "ad_publishing_v3_CreateLinkedinIntegrationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location identifier",
            "example": "loc_123"
          },
          "adAccountId": {
            "type": "string",
            "description": "Ad account identifier",
            "example": "12345678"
          },
          "adAccountName": {
            "type": "string",
            "description": "Ad account name",
            "example": "My Ad Account"
          },
          "currencyCode": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization identifier",
            "example": "12345678"
          }
        },
        "required": [
          "locationId",
          "adAccountId",
          "adAccountName",
          "currencyCode",
          "organizationId"
        ]
      },
      "ad_publishing_v3_LinkedInBudgetDTO": {
        "type": "object",
        "properties": {
          "budgetType": {
            "type": "string",
            "description": "LinkedIn campaign budget type",
            "enum": [
              "DAILY",
              "LIFETIME"
            ],
            "example": "DAILY"
          },
          "amount": {
            "type": "number",
            "description": "Budget amount (currency minor units)",
            "example": 10000
          },
          "scheduleStartDate": {
            "type": "string",
            "description": "Schedule start date (ISO 8601)",
            "example": "2025-01-01"
          },
          "scheduleEndDate": {
            "type": "string",
            "description": "Schedule end date (ISO 8601)",
            "example": "2025-12-31"
          }
        }
      },
      "ad_publishing_v3_LocaleDTO": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country code",
            "example": "US"
          },
          "language": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          }
        },
        "required": [
          "country",
          "language"
        ]
      },
      "ad_publishing_v3_GeoLocationDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Location display name",
            "example": "India"
          },
          "urn": {
            "type": "string",
            "description": "Location URN",
            "example": "urn:li:geo:12321321"
          },
          "facetUrn": {
            "type": "string",
            "description": "Facet URN",
            "example": "urn:li:adTargetingFacet:locations"
          },
          "selectionType": {
            "type": "string",
            "description": "Selection type",
            "example": "include",
            "enum": [
              "include",
              "exclude"
            ]
          }
        },
        "required": [
          "name",
          "urn",
          "facetUrn",
          "selectionType"
        ]
      },
      "ad_publishing_v3_SelectedAttributeDTO": {
        "type": "object",
        "properties": {
          "urn": {
            "type": "string",
            "description": "Targeting attribute URN",
            "example": "urn:li:geo:103644278"
          },
          "name": {
            "type": "string",
            "description": "Display name",
            "example": "United States"
          },
          "categoryName": {
            "type": "string",
            "description": "Category name",
            "example": "Location"
          },
          "facet": {
            "type": "string",
            "description": "Facet identifier",
            "example": "urn:li:adTargetingFacet:locations"
          }
        },
        "required": [
          "urn",
          "name",
          "categoryName",
          "facet"
        ]
      },
      "ad_publishing_v3_TargetAudienceDTO": {
        "type": "object",
        "properties": {
          "include": {
            "type": "array",
            "description": "Included targeting attributes (groups of ANDed attributes, ORed together)",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ad_publishing_v3_SelectedAttributeDTO"
              }
            },
            "example": [
              [
                {
                  "urn": "urn:li:geo:103644278",
                  "name": "United States",
                  "categoryName": "Location",
                  "facet": "urn:li:adTargetingFacet:locations"
                }
              ]
            ]
          },
          "exclude": {
            "type": "array",
            "description": "Excluded targeting attributes",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ad_publishing_v3_SelectedAttributeDTO"
              }
            },
            "example": []
          }
        }
      },
      "ad_publishing_v3_AudienceDTO": {
        "type": "object",
        "properties": {
          "geoLocations": {
            "description": "Geographic location targets",
            "example": [
              {
                "name": "India",
                "urn": "urn:li:geo:102713980",
                "facetUrn": "urn:li:adTargetingFacet:locations",
                "selectionType": "include"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_GeoLocationDTO"
            }
          },
          "targetAudience": {
            "description": "Target audience attribute selections",
            "example": {
              "include": [],
              "exclude": []
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_TargetAudienceDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_UnitCostDTO": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Bid amount in currency minor units",
            "example": 500
          }
        },
        "required": [
          "amount"
        ]
      },
      "ad_publishing_v3_LinkedInMediaDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Media type",
            "enum": [
              "video",
              "image"
            ],
            "example": "image"
          },
          "src": {
            "type": "string",
            "description": "Media source URL",
            "example": "https://example.com/image.jpg"
          },
          "frames": {
            "description": "Video frame URLs",
            "example": [
              "https://example.com/frame1.jpg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedPoster": {
            "type": "number",
            "description": "Selected poster frame index",
            "example": 0
          },
          "thumbnailUrl": {
            "type": "string",
            "description": "Thumbnail URL",
            "example": "https://example.com/thumb.jpg"
          },
          "name": {
            "type": "string",
            "description": "Media name",
            "example": "ad_image.jpg"
          },
          "headline": {
            "type": "string",
            "description": "Media headline",
            "example": "Get started today"
          },
          "destinationUrl": {
            "type": "string",
            "description": "Click-through destination URL",
            "example": "https://example.com"
          },
          "fileSizeBytes": {
            "type": "number",
            "description": "File size in bytes",
            "example": 102400
          }
        }
      },
      "ad_publishing_v3_LinkedInAdDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Ad identifier",
            "example": "ad_abc123"
          },
          "name": {
            "type": "string",
            "description": "Ad name",
            "example": "Summer Sale Ad"
          },
          "introductoryText": {
            "type": "string",
            "description": "Introductory ad copy shown above the creative",
            "example": "Check out our summer sale!"
          },
          "destinationUrl": {
            "type": "string",
            "description": "Click-through destination URL",
            "example": "https://example.com"
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label",
            "example": "LEARN_MORE"
          },
          "destinationFormId": {
            "type": "string",
            "description": "Destination lead-gen form ID",
            "example": "form_abc123"
          },
          "contentReferenceString": {
            "type": "string",
            "description": "Content reference URN for boosted posts",
            "example": "urn:li:share:123"
          },
          "media": {
            "description": "Ad creative media",
            "example": [
              {
                "type": "image",
                "src": "https://example.com/image.jpg"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_LinkedInMediaDTO"
            }
          },
          "adCampaignId": {
            "type": "string",
            "description": "Parent ad campaign identifier",
            "example": "camp_abc123"
          },
          "adId": {
            "type": "string",
            "description": "LinkedIn ad resource ID",
            "example": "12345678"
          },
          "headline": {
            "type": "string",
            "description": "Ad headline",
            "example": "Your next career move starts here"
          },
          "publishingStatus": {
            "type": "string",
            "description": "Ad publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ],
            "example": "PUBLISHED"
          },
          "adCampaignGroupId": {
            "type": "string",
            "description": "Parent campaign group identifier",
            "example": "cg_abc123"
          },
          "description": {
            "type": "string",
            "description": "Ad description",
            "example": "Join thousands who already made the switch"
          },
          "meta": {
            "type": "object",
            "description": "Additional ad metadata",
            "example": {
              "tone": "professional"
            }
          },
          "linkedInError": {
            "type": "string",
            "description": "LinkedIn API error message",
            "example": "Ad rejected by policy"
          }
        }
      },
      "ad_publishing_v3_AdCampaignDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Internal campaign identifier",
            "example": "camp_abc123"
          },
          "locale": {
            "description": "Campaign locale",
            "example": {
              "country": "US",
              "language": "en"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocaleDTO"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Q1 Lead Gen Campaign"
          },
          "publishingStatus": {
            "type": "string",
            "description": "Publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ],
            "example": "PUBLISHED"
          },
          "mediaType": {
            "type": "string",
            "description": "Creative media type for the campaign",
            "enum": [
              "STANDARD_UPDATE",
              "SINGLE_VIDEO",
              "CAROUSEL"
            ],
            "example": "STANDARD_UPDATE"
          },
          "audience": {
            "description": "Campaign audience targeting",
            "example": {
              "geoLocations": [],
              "targetAudience": {
                "include": [],
                "exclude": []
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_AudienceDTO"
              }
            ]
          },
          "unitCost": {
            "description": "Bid unit cost",
            "example": {
              "amount": 500
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_UnitCostDTO"
              }
            ]
          },
          "campaignType": {
            "type": "string",
            "description": "LinkedIn campaign type",
            "example": "SPONSORED_UPDATES"
          },
          "adCampaignGroupId": {
            "type": "string",
            "description": "Parent campaign group identifier",
            "example": "cg_abc123"
          },
          "adCampaignId": {
            "type": "string",
            "description": "LinkedIn campaign resource ID",
            "example": "123456789"
          },
          "ads": {
            "description": "Ads in the campaign",
            "example": [
              {
                "name": "Ad 1",
                "headline": "Your next career move"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_LinkedInAdDTO"
            }
          },
          "linkedInError": {
            "type": "string",
            "description": "LinkedIn API error message",
            "example": "Bid below minimum"
          },
          "meta": {
            "type": "object",
            "description": "Additional campaign metadata",
            "example": {}
          }
        }
      },
      "ad_publishing_v3_AdCampaignGroupDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Internal ID",
            "example": "cg_abc123"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "loc_abc123"
          },
          "budget": {
            "description": "Campaign group budget",
            "example": {
              "budgetType": "DAILY",
              "amount": 10000
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LinkedInBudgetDTO"
              }
            ]
          },
          "adCampaigns": {
            "description": "Child ad campaigns",
            "example": [
              {
                "name": "Campaign 1",
                "publishingStatus": "PUBLISHED"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_AdCampaignDTO"
            }
          },
          "adBudgetOptimization": {
            "type": "string",
            "description": "Ad budget optimization mode",
            "enum": [
              "MAXIMUM_DELIVERY",
              "COST_CAP"
            ],
            "example": "MAX_REACH"
          },
          "objectiveType": {
            "type": "string",
            "description": "Campaign group objective",
            "enum": [
              "LEAD_GENERATION",
              "WEBSITE_VISIT"
            ],
            "example": "LEAD_GENERATION"
          },
          "name": {
            "type": "string",
            "description": "Campaign group name",
            "example": "Q1 Lead Gen"
          },
          "adCampaignGroupId": {
            "type": "string",
            "description": "LinkedIn campaign group resource ID",
            "example": "123456789"
          },
          "publishingStatus": {
            "type": "string",
            "description": "Publishing status",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "PUBLISHED",
              "PUBLISHING",
              "FAILED",
              "IN_REVIEW",
              "PAUSED",
              "ARCHIVED",
              "WITH_ISSUES",
              "REJECTED"
            ],
            "example": "PUBLISHED"
          },
          "linkedInAdAccountId": {
            "type": "string",
            "description": "LinkedIn ad account identifier",
            "example": "12345678"
          },
          "unpublishedChanges": {
            "type": "boolean",
            "description": "Whether the campaign group has unpublished changes",
            "example": false
          },
          "meta": {
            "type": "object",
            "description": "Additional metadata",
            "example": {}
          },
          "linkedInError": {
            "type": "string",
            "description": "LinkedIn API error message",
            "example": "Budget below minimum"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "ad_publishing_v3_SponsoredAccountOwnerDTO": {
        "type": "object",
        "properties": {
          "sponsoredAccount": {
            "type": "string",
            "description": "Sponsored account URN",
            "example": "urn:li:sponsoredAccount:123456"
          }
        },
        "required": [
          "sponsoredAccount"
        ]
      },
      "ad_publishing_v3_CreationLocaleDTO": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country code",
            "example": "US"
          },
          "language": {
            "type": "string",
            "description": "Language code",
            "example": "en"
          }
        },
        "required": [
          "country",
          "language"
        ]
      },
      "ad_publishing_v3_LocalizedStringDTO": {
        "type": "object",
        "properties": {
          "localized": {
            "type": "object",
            "description": "Locale-keyed string map",
            "example": {
              "en_US": "Hello"
            }
          }
        },
        "required": [
          "localized"
        ]
      },
      "ad_publishing_v3_MultipleChoiceOptionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Option ID",
            "example": 1
          },
          "text": {
            "description": "Option text",
            "example": {
              "localized": {
                "en_US": "Yes"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          }
        },
        "required": [
          "id",
          "text"
        ]
      },
      "ad_publishing_v3_MultipleChoiceQuestionDetailsDTO": {
        "type": "object",
        "properties": {
          "options": {
            "description": "Choice options",
            "example": [
              {
                "id": 1,
                "text": {
                  "localized": {
                    "en_US": "Yes"
                  }
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_MultipleChoiceOptionDTO"
            }
          }
        },
        "required": [
          "options"
        ]
      },
      "ad_publishing_v3_QuestionDetailsDTO": {
        "type": "object",
        "properties": {
          "textQuestionDetails": {
            "type": "object",
            "description": "Text question details (empty object for text questions)",
            "example": {}
          },
          "multipleChoiceQuestionDetails": {
            "description": "Multiple choice question details",
            "example": {
              "options": [
                {
                  "id": 1,
                  "text": {
                    "localized": {
                      "en_US": "Yes"
                    }
                  }
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_MultipleChoiceQuestionDetailsDTO"
              }
            ]
          }
        }
      },
      "ad_publishing_v3_LeadFormQuestionDTO": {
        "type": "object",
        "properties": {
          "question": {
            "description": "Question text",
            "example": {
              "localized": {
                "en_US": "What is your first name?"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Question field name",
            "example": "firstName"
          },
          "questionDetails": {
            "description": "Question type details",
            "example": {
              "textQuestionDetails": {}
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_QuestionDetailsDTO"
              }
            ]
          },
          "predefinedField": {
            "type": "string",
            "description": "Predefined field identifier",
            "example": "FIRST_NAME"
          }
        },
        "required": [
          "question",
          "name",
          "questionDetails"
        ]
      },
      "ad_publishing_v3_PostSubmissionCallToActionTargetDTO": {
        "type": "object",
        "properties": {
          "landingPageUrl": {
            "type": "string",
            "description": "Landing page URL",
            "example": "https://example.com/thank-you"
          }
        },
        "required": [
          "landingPageUrl"
        ]
      },
      "ad_publishing_v3_PostSubmissionCallToActionDTO": {
        "type": "object",
        "properties": {
          "callToActionTarget": {
            "description": "Call to action target",
            "example": {
              "landingPageUrl": "https://example.com/thank-you"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_PostSubmissionCallToActionTargetDTO"
              }
            ]
          },
          "callToActionLabel": {
            "type": "string",
            "description": "Call to action label",
            "enum": [
              "VISIT_COMPANY_WEBSITE",
              "DOWNLOAD_NOW",
              "TRY_NOW",
              "VIEW_NOW",
              "LEARN_MORE"
            ],
            "example": "LEARN_MORE"
          }
        },
        "required": [
          "callToActionTarget",
          "callToActionLabel"
        ]
      },
      "ad_publishing_v3_PostSubmissionInfoDTO": {
        "type": "object",
        "properties": {
          "message": {
            "description": "Thank-you message",
            "example": {
              "localized": {
                "en_US": "Thank you!"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          },
          "callToAction": {
            "description": "Post-submission call to action",
            "example": {
              "callToActionTarget": {
                "landingPageUrl": "https://example.com/thank-you"
              },
              "callToActionLabel": "LEARN_MORE"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_PostSubmissionCallToActionDTO"
              }
            ]
          }
        },
        "required": [
          "message",
          "callToAction"
        ]
      },
      "ad_publishing_v3_ConsentDTO": {
        "type": "object",
        "properties": {
          "checkRequired": {
            "type": "boolean",
            "description": "Whether consent checkbox is required",
            "example": true
          },
          "id": {
            "type": "number",
            "description": "Consent identifier",
            "example": 1
          },
          "consent": {
            "description": "Consent text",
            "example": {
              "localized": {
                "en_US": "I agree to receive marketing communications"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          }
        },
        "required": [
          "checkRequired",
          "id",
          "consent"
        ]
      },
      "ad_publishing_v3_LegalInfoDTO": {
        "type": "object",
        "properties": {
          "consents": {
            "description": "Consent entries",
            "example": [
              {
                "checkRequired": true,
                "id": 1,
                "consent": {
                  "localized": {
                    "en_US": "I agree to terms"
                  }
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_ConsentDTO"
            }
          },
          "privacyPolicyUrl": {
            "type": "string",
            "description": "Privacy policy URL",
            "example": "https://example.com/privacy"
          },
          "legalDisclaimer": {
            "description": "Legal disclaimer text",
            "example": {
              "localized": {
                "en_US": "By submitting, you accept our Privacy Policy"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          }
        },
        "required": [
          "consents",
          "privacyPolicyUrl"
        ]
      },
      "ad_publishing_v3_LeadFormContentDTO": {
        "type": "object",
        "properties": {
          "questions": {
            "description": "Form questions",
            "example": [
              {
                "question": {
                  "localized": {
                    "en_US": "First name"
                  }
                },
                "name": "firstName",
                "questionDetails": {
                  "textQuestionDetails": {}
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_LeadFormQuestionDTO"
            }
          },
          "description": {
            "description": "Form description",
            "example": {
              "localized": {
                "en_US": "Fill out this quick form"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          },
          "headline": {
            "description": "Form headline",
            "example": {
              "localized": {
                "en_US": "Get in touch"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LocalizedStringDTO"
              }
            ]
          },
          "postSubmissionInfo": {
            "description": "Post-submission info",
            "example": {
              "message": {
                "localized": {
                  "en_US": "Thank you!"
                }
              },
              "callToAction": {
                "callToActionTarget": {
                  "landingPageUrl": "https://example.com/thank-you"
                },
                "callToActionLabel": "LEARN_MORE"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_PostSubmissionInfoDTO"
              }
            ]
          },
          "legalInfo": {
            "description": "Legal information",
            "example": {
              "consents": [
                {
                  "checkRequired": true,
                  "id": 1,
                  "consent": {
                    "localized": {
                      "en_US": "I agree"
                    }
                  }
                }
              ],
              "privacyPolicyUrl": "https://example.com/privacy"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LegalInfoDTO"
              }
            ]
          }
        },
        "required": [
          "questions",
          "headline",
          "postSubmissionInfo",
          "legalInfo"
        ]
      },
      "ad_publishing_v3_HiddenFieldDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "utm_source"
          },
          "value": {
            "type": "string",
            "description": "Field value",
            "example": "linkedin"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "ad_publishing_v3_LinkedInCreateLeadFormBodyDTO": {
        "type": "object",
        "properties": {
          "owner": {
            "description": "Form owner",
            "example": {
              "sponsoredAccount": "urn:li:sponsoredAccount:123456"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_SponsoredAccountOwnerDTO"
              }
            ]
          },
          "creationLocale": {
            "description": "Creation locale",
            "example": {
              "country": "US",
              "language": "en"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_CreationLocaleDTO"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Form name",
            "example": "Contact Us"
          },
          "state": {
            "type": "string",
            "description": "Form state",
            "enum": [
              "PUBLISHED"
            ],
            "example": "PUBLISHED"
          },
          "content": {
            "description": "Form content",
            "example": {
              "questions": [],
              "headline": {
                "localized": {
                  "en_US": "Get in touch"
                }
              },
              "postSubmissionInfo": {},
              "legalInfo": {}
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/ad_publishing_v3_LeadFormContentDTO"
              }
            ]
          },
          "hiddenFields": {
            "description": "Hidden fields",
            "example": [
              {
                "name": "utm_source",
                "value": "linkedin"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ad_publishing_v3_HiddenFieldDTO"
            }
          }
        },
        "required": [
          "owner",
          "creationLocale",
          "name",
          "state",
          "content"
        ]
      },
      "ad_publishing_v3_LinkedInUpdateAdStatusBodyDTO": {
        "type": "object",
        "properties": {
          "operationType": {
            "type": "string",
            "description": "Update operation",
            "example": "PAUSED",
            "enum": [
              "PAUSED",
              "ARCHIVED",
              "RESUME"
            ]
          },
          "type": {
            "type": "string",
            "description": "Ad object type",
            "example": "adCampaign",
            "enum": [
              "adGroup",
              "adCampaign",
              "ad"
            ]
          }
        },
        "required": [
          "operationType",
          "type"
        ]
      },
      "affiliate_manager_v3_OAuthAffiliateListItemResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Affiliate id",
            "example": "63d147176c5bbc30e9e091a4"
          },
          "firstName": {
            "type": "string",
            "description": "Affiliate first name",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Affiliate last name",
            "example": "Doe"
          },
          "phone": {
            "type": "string",
            "description": "Affiliate phone number",
            "example": "+1 888 888-8888"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the affiliate is deleted",
            "example": false
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "active": {
            "type": "boolean",
            "description": "Whether the affiliate is active",
            "example": true
          },
          "address": {
            "type": "string",
            "description": "Affiliate address",
            "example": "123 Main St"
          },
          "avatar": {
            "type": "string",
            "description": "Affiliate avatar URL",
            "example": "https://example.com/avatar.png"
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "createdBy": {
            "type": "object",
            "description": "Created by audit info"
          },
          "facebookUrl": {
            "type": "string",
            "description": "Facebook URL",
            "example": "https://facebook.com/johndoe"
          },
          "instagramUrl": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://instagram.com/johndoe"
          },
          "linkedInUrl": {
            "type": "string",
            "description": "LinkedIn URL",
            "example": "https://linkedin.com/in/johndoe"
          },
          "twitterUrl": {
            "type": "string",
            "description": "Twitter URL",
            "example": "https://twitter.com/johndoe"
          },
          "youtubeUrl": {
            "type": "string",
            "description": "YouTube URL",
            "example": "https://youtube.com/channel"
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "contactId": {
            "type": "string",
            "description": "Contact id associated with the affiliate",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "campaignIds": {
            "description": "Campaign ids",
            "example": [
              "650173614761b33c46d33b19"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vatId": {
            "type": "string",
            "description": "VAT ID",
            "example": "VAT123"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "w8Form": {
            "type": "string",
            "description": "W8 form URL"
          },
          "w9Form": {
            "type": "string",
            "description": "W9 form URL"
          },
          "lastUpdatedBy": {
            "type": "object",
            "description": "Last updated by audit info"
          },
          "email": {
            "type": "string",
            "description": "Affiliate email",
            "example": "john.doe@example.com"
          },
          "revenue": {
            "type": "number",
            "description": "Affiliate revenue",
            "example": 1250.5
          },
          "customer": {
            "type": "number",
            "description": "Customer count",
            "example": 15
          },
          "lead": {
            "type": "number",
            "description": "Lead count",
            "example": 5
          },
          "droppedCustomer": {
            "type": "number",
            "description": "Dropped customer count",
            "example": 2
          },
          "clickCount": {
            "type": "number",
            "description": "Click count",
            "example": 100
          },
          "paid": {
            "type": "number",
            "description": "Paid amount",
            "example": 500
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "owned": {
            "type": "number",
            "description": "Owned amount",
            "example": 750
          }
        },
        "required": [
          "_id",
          "locationId",
          "email"
        ]
      },
      "affiliate_manager_v3_AffiliateListMetaResponseDto": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total affiliates matching the applied filters",
            "example": 42
          }
        },
        "required": [
          "count"
        ]
      },
      "affiliate_manager_v3_ListAffiliatesResponseDto": {
        "type": "object",
        "properties": {
          "affiliates": {
            "description": "Affiliate list",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/affiliate_manager_v3_OAuthAffiliateListItemResponseDto"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_AffiliateListMetaResponseDto"
              }
            ]
          }
        },
        "required": [
          "affiliates",
          "meta"
        ]
      },
      "affiliate_manager_v3_GetAffiliateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Affiliate id",
            "example": "63d147176c5bbc30e9e091a4"
          },
          "firstName": {
            "type": "string",
            "description": "Affiliate first name",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Affiliate last name",
            "example": "Doe"
          },
          "phone": {
            "type": "string",
            "description": "Affiliate phone number",
            "example": "+1 888 888-8888"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the affiliate is deleted",
            "example": false
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "active": {
            "type": "boolean",
            "description": "Whether the affiliate is active",
            "example": true
          },
          "address": {
            "type": "string",
            "description": "Affiliate address",
            "example": "123 Main St"
          },
          "avatar": {
            "type": "string",
            "description": "Affiliate avatar URL",
            "example": "https://example.com/avatar.png"
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "createdBy": {
            "type": "object",
            "description": "Created by audit info"
          },
          "facebookUrl": {
            "type": "string",
            "description": "Facebook URL",
            "example": "https://facebook.com/johndoe"
          },
          "instagramUrl": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://instagram.com/johndoe"
          },
          "linkedInUrl": {
            "type": "string",
            "description": "LinkedIn URL",
            "example": "https://linkedin.com/in/johndoe"
          },
          "twitterUrl": {
            "type": "string",
            "description": "Twitter URL",
            "example": "https://twitter.com/johndoe"
          },
          "youtubeUrl": {
            "type": "string",
            "description": "YouTube URL",
            "example": "https://youtube.com/channel"
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL",
            "example": "https://example.com"
          },
          "contactId": {
            "type": "string",
            "description": "Contact id associated with the affiliate",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "campaignIds": {
            "description": "Campaign ids",
            "example": [
              "650173614761b33c46d33b19"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "vatId": {
            "type": "string",
            "description": "VAT ID",
            "example": "VAT123"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "w8Form": {
            "type": "string",
            "description": "W8 form URL"
          },
          "w9Form": {
            "type": "string",
            "description": "W9 form URL"
          },
          "lastUpdatedBy": {
            "type": "object",
            "description": "Last updated by audit info"
          },
          "email": {
            "type": "string",
            "description": "Affiliate email",
            "example": "john.doe@example.com"
          },
          "revenue": {
            "type": "number",
            "description": "Affiliate revenue",
            "example": 1250.5
          },
          "customer": {
            "type": "number",
            "description": "Customer count",
            "example": 15
          },
          "lead": {
            "type": "number",
            "description": "Lead count",
            "example": 5
          },
          "droppedCustomer": {
            "type": "number",
            "description": "Dropped customer count",
            "example": 2
          },
          "clickCount": {
            "type": "number",
            "description": "Click count",
            "example": 100
          },
          "paid": {
            "type": "number",
            "description": "Paid amount",
            "example": 500
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "owned": {
            "type": "number",
            "description": "Owned amount",
            "example": 750
          }
        },
        "required": [
          "_id",
          "locationId",
          "email"
        ]
      },
      "affiliate_manager_v3_PayoutListItemResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Payout id",
            "example": "65df04201e428a0c5ebb6571"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "affiliateId": {
            "type": "string",
            "description": "Affiliate id",
            "example": "65df04201e428a0c5ebb6572"
          },
          "campaignId": {
            "type": "string",
            "description": "Campaign id",
            "example": "65df04201e428a0c5ebb6573"
          },
          "currency": {
            "type": "string",
            "description": "Payout currency",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "Payout amount",
            "example": 150
          },
          "status": {
            "type": "string",
            "description": "Payout status",
            "example": "pending"
          },
          "payoutMonth": {
            "type": "string",
            "description": "Payout month",
            "example": "2024-06-01T00:00:00.000Z"
          },
          "dueAt": {
            "type": "string",
            "description": "Payout due date",
            "example": "2024-06-30T00:00:00.000Z"
          },
          "paidAt": {
            "type": "string",
            "description": "Payout paid date",
            "example": "2024-06-30T00:00:00.000Z"
          },
          "paidMeta": {
            "type": "object",
            "description": "Payout metadata"
          },
          "paidMethod": {
            "type": "string",
            "description": "Payout paid method",
            "example": "manual"
          },
          "altId": {
            "type": "string",
            "description": "Alternate id",
            "example": "alt_123"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the payout is deleted",
            "example": false
          },
          "isMigrated": {
            "type": "boolean",
            "description": "Whether the payout is migrated",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2024-06-17T00:00:00.000Z"
          },
          "campaign": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Promo"
          },
          "affiliateName": {
            "type": "string",
            "description": "Affiliate display name",
            "example": "John Doe"
          },
          "affiliateEmail": {
            "type": "string",
            "description": "Affiliate email",
            "example": "john.doe@example.com"
          },
          "payoutMethod": {
            "type": "string",
            "description": "Primary payout method",
            "example": "paypal"
          },
          "affiliate": {
            "description": "Affiliate details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_OAuthAffiliateListItemResponseDto"
              }
            ]
          }
        },
        "required": [
          "_id",
          "locationId",
          "affiliateId",
          "currency",
          "amount"
        ]
      },
      "affiliate_manager_v3_PayoutListMetaResponseDto": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total payouts matching the filters",
            "example": 42
          }
        },
        "required": [
          "count"
        ]
      },
      "affiliate_manager_v3_GetPayoutListResponseDto": {
        "type": "object",
        "properties": {
          "payouts": {
            "description": "Payout list",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/affiliate_manager_v3_PayoutListItemResponseDto"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_PayoutListMetaResponseDto"
              }
            ]
          }
        },
        "required": [
          "payouts"
        ]
      },
      "affiliate_manager_v3_CommissionCustomerResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Customer id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "firstName": {
            "type": "string",
            "description": "Customer first name",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Customer last name",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "description": "Customer email",
            "example": "john@example.com"
          },
          "type": {
            "type": "string",
            "description": "Customer type",
            "example": "customer"
          }
        }
      },
      "affiliate_manager_v3_CommissionCampaignResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Promo"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Whether the campaign is in live mode",
            "example": true
          }
        }
      },
      "affiliate_manager_v3_CommissionAffiliateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Affiliate id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "name": {
            "type": "string",
            "description": "Affiliate display name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Affiliate email",
            "example": "affiliate@example.com"
          }
        }
      },
      "affiliate_manager_v3_CommissionListItemResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Commission id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "productId": {
            "type": "string",
            "description": "Product id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "productName": {
            "type": "string",
            "description": "Product name",
            "example": "Basic Plan"
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "example": 1
          },
          "productCommission": {
            "type": "number",
            "description": "Product commission amount",
            "example": 25
          },
          "commissionAmount": {
            "type": "number",
            "description": "Commission amount",
            "example": 25
          },
          "amount": {
            "type": "number",
            "description": "Base amount",
            "example": 100
          },
          "unitDiscount": {
            "type": "number",
            "description": "Unit discount",
            "example": 5
          },
          "campaignName": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Promo"
          },
          "commission": {
            "type": "number",
            "description": "Commission percentage or value",
            "example": 25
          },
          "commissionType": {
            "type": "string",
            "description": "Commission type",
            "example": "percentage"
          },
          "transactionAt": {
            "type": "string",
            "description": "Transaction time",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "transactionId": {
            "type": "string",
            "description": "Transaction id",
            "example": "txn_123"
          },
          "affiliateId": {
            "type": "string",
            "description": "Affiliate id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "payoutId": {
            "type": "string",
            "description": "Payout id",
            "example": "6385d230f6d19db03eef6fb2"
          },
          "status": {
            "type": "string",
            "description": "Commission status",
            "example": "pending"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "isTrial": {
            "type": "boolean",
            "description": "Whether the item is a trial commission",
            "example": false
          },
          "customer": {
            "description": "Customer details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_CommissionCustomerResponseDto"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Created at",
            "example": "2024-06-16T00:00:00.000Z"
          },
          "eventId": {
            "type": "string",
            "description": "Event id",
            "example": "evt_123"
          },
          "campaign": {
            "description": "Campaign details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_CommissionCampaignResponseDto"
              }
            ]
          },
          "affiliate": {
            "description": "Affiliate details",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_CommissionAffiliateResponseDto"
              }
            ]
          },
          "dueAt": {
            "type": "string",
            "description": "Due date",
            "example": "2024-06-30T00:00:00.000Z"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Whether the commission is in live mode",
            "example": true
          },
          "tier": {
            "type": "number",
            "description": "Commission tier",
            "example": 1
          }
        },
        "required": [
          "_id"
        ]
      },
      "affiliate_manager_v3_CommissionListMetaResponseDto": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total commissions matching the filters",
            "example": 42
          }
        },
        "required": [
          "count"
        ]
      },
      "affiliate_manager_v3_GetCommissionListResponseDto": {
        "type": "object",
        "properties": {
          "commissions": {
            "description": "Commission list",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/affiliate_manager_v3_CommissionListItemResponseDto"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/affiliate_manager_v3_CommissionListMetaResponseDto"
              }
            ]
          }
        },
        "required": [
          "commissions"
        ]
      },
      "agent_studio_v3_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 500
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          }
        }
      },
      "agent_studio_v3_CreatePublicAgentDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "name": {
            "type": "string",
            "description": "Name of the agent",
            "example": "Customer Support Agent"
          },
          "description": {
            "type": "string",
            "description": "Description of the agent",
            "example": "AI agent specialized in handling customer inquiries and support tickets"
          },
          "agencyId": {
            "type": "string",
            "description": "Agency ID",
            "example": "gjL2sFNXJfJYa3d2OYSN"
          },
          "authorId": {
            "type": "string",
            "description": "Author ID",
            "example": "usr_abc123def456"
          },
          "authorName": {
            "type": "string",
            "description": "Author name",
            "example": "John Doe"
          },
          "authorEmail": {
            "type": "string",
            "description": "Author email",
            "example": "john@example.com"
          },
          "status": {
            "type": "string",
            "description": "Status of the agent",
            "enum": [
              "active",
              "inactive",
              "archived"
            ],
            "example": "active"
          },
          "version": {
            "type": "object",
            "description": "Version data for the agent including nodes, edges, and configuration",
            "example": {
              "versionName": "Version 1",
              "description": "Initial version",
              "nodes": [],
              "edges": [],
              "uiNodes": [],
              "uiEdges": [],
              "globalVariables": [],
              "inputVariables": [],
              "runtimeVariables": [],
              "scopes": []
            }
          },
          "nodes": {
            "description": "Nodes array (deprecated, prefer using version.nodes)",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "edges": {
            "description": "Edges array (deprecated, prefer using version.edges)",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "status",
          "version"
        ]
      },
      "agent_studio_v3_CreatePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent created successfully with staging version."
          },
          "agent": {
            "type": "object",
            "description": "Created agent data with metadata",
            "example": {
              "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
              "name": "Customer Support Agent",
              "description": "AI agent specialized in handling customer inquiries and support tickets",
              "locationId": "C2QujeCh8ZnC7al2InWR",
              "agencyId": "gjL2sFNXJfJYa3d2OYSN",
              "status": "active",
              "authorId": "usr_abc123def456",
              "folderId": "C2QujeCh8ZnC7al2InWR",
              "folderName": null,
              "createdAt": "2024-02-27T10:30:00.000Z",
              "updatedAt": "2024-02-27T10:30:00.000Z"
            }
          },
          "versions": {
            "type": "array",
            "description": "Created versions array (initial staging version)",
            "example": [
              {
                "versionId": "v1a2b3c4d5e6f7g8h9i0",
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "versionName": "Customer Support Agent v1",
                "state": "staging",
                "isPublished": false,
                "version": 1,
                "createdAt": "2024-02-27T10:30:00.000Z"
              }
            ]
          }
        },
        "required": [
          "success",
          "message",
          "agent",
          "versions"
        ]
      },
      "agent_studio_v3_UpdatePublicAgentVersionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID for authorization",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "versionName": {
            "type": "string",
            "description": "Version name",
            "example": "Customer Support Agent v2"
          },
          "description": {
            "type": "string",
            "description": "Description of the version",
            "example": "Updated version with improved customer handling logic"
          },
          "nodes": {
            "description": "Complete array of nodes for the agent workflow. Provide all nodes including unchanged ones.",
            "example": [
              {
                "nodeId": "node_1",
                "nodeName": "Start",
                "type": "start",
                "isStartNode": true
              },
              {
                "nodeId": "node_2",
                "nodeName": "LLM Node",
                "type": "llm",
                "nodeConfig": {
                  "prompt": "How can I help you?",
                  "llmProvider": "openai",
                  "llmModel": "gpt-4"
                }
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "edges": {
            "description": "Complete array of edges connecting the nodes. Provide all edges including unchanged ones.",
            "example": [
              {
                "startNode": "node_1",
                "endNode": "node_2"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "globalVariables": {
            "description": "Global variables accessible throughout the agent workflow",
            "example": [
              {
                "key": "apiKey",
                "type": "string",
                "value": "your-api-key"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "inputVariables": {
            "description": "Input variables required from user at execution time",
            "example": [
              {
                "key": "customerName",
                "type": "string",
                "description": "Customer name for personalization"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "runtimeVariables": {
            "description": "Runtime variables generated during agent execution",
            "example": [
              {
                "key": "sessionId",
                "type": "string",
                "description": "Current session identifier"
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "globalConfig": {
            "type": "object",
            "description": "Global configuration including prompts and settings",
            "example": {
              "globalPrompt": {
                "currentPrompt": "You are a helpful customer support assistant.",
                "history": []
              }
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID performing the update",
            "example": "usr_abc123def456"
          },
          "userName": {
            "type": "string",
            "description": "User name performing the update",
            "example": "John Doe"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "agent_studio_v3_UpdatePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent updated successfully"
          },
          "data": {
            "type": "object",
            "description": "Updated agent or version data",
            "example": {
              "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
              "versionId": "v1a2b3c4d5e6f7g8h9i0",
              "name": "Updated Customer Support Agent",
              "description": "Updated AI agent with enhanced customer support capabilities",
              "status": "active",
              "updatedAt": "2024-02-27T11:45:00.000Z"
            }
          }
        },
        "required": [
          "success",
          "message",
          "data"
        ]
      },
      "agent_studio_v3_UpdatePublicAgentMetadataDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID for authorization (cannot be updated)",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "name": {
            "type": "string",
            "description": "Name of the agent",
            "example": "Updated Customer Support Agent"
          },
          "description": {
            "type": "string",
            "description": "Description of the agent",
            "example": "Updated AI agent with enhanced customer support capabilities"
          },
          "status": {
            "type": "string",
            "description": "Status of the agent",
            "example": "active",
            "enum": [
              "active",
              "inactive",
              "archived"
            ]
          }
        },
        "required": [
          "locationId"
        ]
      },
      "agent_studio_v3_DeletePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent deleted successfully"
          },
          "agentId": {
            "type": "string",
            "description": "Deleted agent ID",
            "example": "p1q2r3s4t5u6v7w8x9y0z1a2"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "agent_studio_v3_PromoteAndPublishDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID for authorization",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "userId": {
            "type": "string",
            "description": "User ID performing the promotion action",
            "example": "usr_abc123def456"
          },
          "userName": {
            "type": "string",
            "description": "User name performing the promotion action",
            "example": "John Doe"
          },
          "userEmail": {
            "type": "string",
            "description": "User email performing the promotion action",
            "example": "john.doe@example.com"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "agent_studio_v3_PromoteAndPublishResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Draft published to production successfully. New draft version created for future edits."
          },
          "data": {
            "type": "object",
            "description": "Result data with production and new draft version details",
            "example": {
              "productionVersion": {
                "versionId": "v1a2b3c4d5e6f7g8h9i0",
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "versionName": "Customer Support Agent v2",
                "state": "prod",
                "isPublished": true,
                "version": 2,
                "publishedAt": "2024-02-27T12:00:00.000Z",
                "publishedBy": "usr_abc123def456",
                "publishedByName": "John Doe",
                "publishedByEmail": "john.doe@example.com"
              },
              "newDraftVersion": {
                "versionId": "v2b3c4d5e6f7g8h9i0j1",
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "versionName": "Customer Support Agent v3",
                "state": "draft",
                "isPublished": false,
                "version": 3,
                "createdAt": "2024-02-27T12:00:00.000Z"
              }
            }
          }
        },
        "required": [
          "success",
          "message",
          "data"
        ]
      },
      "agent_studio_v3_GetPublishedAgentsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agents retrieved successfully"
          },
          "agents": {
            "type": "array",
            "description": "List of agents with metadata",
            "example": [
              {
                "agentId": "p1q2r3s4t5u6v7w8x9y0z1a2",
                "name": "Marketing Assistant",
                "description": "AI agent specialized in marketing strategy and content creation",
                "locationId": "C2QujeCh8ZnC7al2InWR",
                "status": "active",
                "createdAt": "2024-01-15T10:30:00.000Z",
                "updatedAt": "2024-02-20T14:45:00.000Z"
              },
              {
                "agentId": "b3c4d5e6f7g8h9i0j1k2l3m4",
                "name": "Customer Support Bot",
                "description": "AI agent for handling customer inquiries and support tickets",
                "locationId": "C2QujeCh8ZnC7al2InWR",
                "status": "active",
                "createdAt": "2024-01-10T09:15:00.000Z",
                "updatedAt": "2024-02-18T16:20:00.000Z"
              }
            ],
            "items": {
              "type": "object",
              "properties": {
                "agentId": {
                  "type": "string",
                  "description": "Agent ID"
                },
                "name": {
                  "type": "string",
                  "description": "Agent name"
                },
                "description": {
                  "type": "string",
                  "description": "Agent description"
                },
                "locationId": {
                  "type": "string",
                  "description": "Location ID"
                },
                "status": {
                  "type": "string",
                  "description": "Agent status (always \"active\")"
                },
                "createdAt": {
                  "type": "string",
                  "description": "Creation timestamp"
                },
                "updatedAt": {
                  "type": "string",
                  "description": "Last update timestamp"
                }
              }
            }
          },
          "pagination": {
            "type": "object",
            "description": "Pagination metadata",
            "example": {
              "total": 25,
              "limit": 20,
              "offset": 0,
              "hasMore": true
            },
            "properties": {
              "total": {
                "type": "number",
                "description": "Total number of agents"
              },
              "limit": {
                "type": "number",
                "description": "Number of agents per page"
              },
              "offset": {
                "type": "number",
                "description": "Starting position"
              },
              "hasMore": {
                "type": "boolean",
                "description": "Whether more agents exist"
              }
            }
          }
        },
        "required": [
          "success",
          "message",
          "agents",
          "pagination"
        ]
      },
      "agent_studio_v3_GetAgentByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Agent retrieved successfully"
          },
          "agent": {
            "type": "object",
            "description": "Agent metadata with all active versions",
            "example": {
              "id": "d6a6792d-0d50-4e8f-9c3b-ecd8096d0bdd",
              "agentId": "AgfS2JXWsSN8aXb5c4d2",
              "name": "Customer Support Agent",
              "description": "AI agent for customer support",
              "agencyId": "5DP4iH6HLkQsiKESj6rh",
              "locationId": "C2QujeCh8ZnC7al2InWR",
              "productSlug": "agent_studio",
              "productId": "agent_studio",
              "authorId": "usr_123",
              "status": "active",
              "folderId": "vEoIigWSAw1BQA9DEchD",
              "folderName": "Default Agents",
              "createdAt": "2026-03-06T10:37:01.013Z",
              "updatedAt": "2026-03-06T10:37:01.014Z",
              "deleted": false,
              "productionVersion": {
                "versionId": "Ver1K8sSF2nC7al5InWz",
                "versionName": "Content Creation Agent v1",
                "isPublished": true,
                "inputVariables": [],
                "updatedAt": "2026-03-02T06:53:40.570Z"
              },
              "versions": [
                {
                  "id": "3f9d9ab7-5ca4-4e64-8472-eab9e77a0fe3",
                  "versionId": "Ver1K8sSF2nC7al5InWz",
                  "agentId": "AgfS2JXWsSN8aXb5c4d2",
                  "agencyId": "5DP4iH6HLkQsiKESj6rh",
                  "locationId": "C2QujeCh8ZnC7al2InWR",
                  "versionName": "v1",
                  "description": "AI agent for customer support",
                  "state": "staging",
                  "isPublished": false,
                  "scopes": [],
                  "nodes": [],
                  "edges": [],
                  "uiNodes": [],
                  "uiEdges": [],
                  "globalVariables": [],
                  "inputVariables": [],
                  "runtimeVariables": [],
                  "viewport": {
                    "x": 0,
                    "y": 0,
                    "zoom": 1
                  },
                  "globalConfig": {},
                  "createdAt": "2026-03-06T10:37:01.079Z",
                  "updatedAt": "2026-03-06T10:37:01.079Z",
                  "deleted": false,
                  "storedInBucket": true,
                  "bucketFilePath": "agent-definitions/5DP4iH6HLkQsiKESj6rh/vEoIigWSAw1BQA9DEchD/d6a6792d-0d50-4e8f-9c3b-ecd8096d0bdd/3f9d9ab7-5ca4-4e64-8472-eab9e77a0fe3.json"
                }
              ]
            }
          },
          "traceId": {
            "type": "string",
            "description": "Request trace ID for debugging",
            "example": "22dbda99-13d3-4b4d-a30e-c468334e2178"
          }
        },
        "required": [
          "success",
          "message",
          "agent"
        ]
      },
      "agent_studio_v3_PublicAttachmentSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of attachment",
            "example": "image"
          },
          "imageUrl": {
            "type": "string",
            "description": "URL of the image attachment",
            "example": "https://example.com/image.png"
          }
        },
        "required": [
          "type",
          "imageUrl"
        ]
      },
      "agent_studio_v3_ExecutePublicAgentDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Message to send to the agent",
            "example": "How can you help me with my marketing?"
          },
          "executionId": {
            "type": "string",
            "description": "Unique session identifier that maintains conversational context across multiple interactions within the same agent session. Omit this field for the first message in a new session. Include the executionId returned from the previous response to maintain context in subsequent messages.",
            "example": "a1b2c3d4e5f6g7h8i9j0k1l2"
          },
          "inputVariables": {
            "type": "object",
            "description": "Input variables to pass to the agent. These should match the input variables defined in the agent configuration.",
            "example": {
              "customerName": "John Doe",
              "orderNumber": "ORD-12345"
            }
          },
          "versionId": {
            "type": "string",
            "description": "Published version ID to execute. If not provided, the latest published production version will be used.",
            "example": "b2b1c1d2-3e4f-5a6b-7c8d-9e0f1a2b3c4d"
          },
          "attachments": {
            "description": "Attachments for the message",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agent_studio_v3_PublicAttachmentSchema"
            }
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID to associate with this execution. When provided, contact data will be hydrated and made available to the agent.",
            "example": "cid_abc123def456"
          }
        },
        "required": [
          "message",
          "locationId"
        ]
      },
      "agent_studio_v3_ExecutePublicAgentResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "executionId": {
            "type": "string",
            "description": "Unique session identifier that maintains conversational context across multiple interactions within the same agent session. Use this ID in subsequent requests to continue the conversation.",
            "example": "a1b2c3d4e5f6g7h8i9j0k1l2"
          },
          "interactionId": {
            "type": "string",
            "description": "Unique identifier for a single interaction cycle, consisting of one user input and the corresponding agent response. Each message exchange generates a new interactionId.",
            "example": "m9n8o7p6q5r4s3t2u1v0w9x8"
          },
          "response": {
            "type": "string",
            "description": "Agent response text",
            "example": "I can help you with various tasks..."
          },
          "type": {
            "type": "string",
            "description": "Response type",
            "example": "text"
          },
          "nextExpectedInput": {
            "type": "string",
            "description": "Expected input type for next interaction",
            "example": "text"
          },
          "goalCompletion": {
            "type": "boolean",
            "description": "When end node is added in the graph, this will be true if the agent reached the end node in the graph",
            "example": false
          },
          "executionStatus": {
            "type": "string",
            "description": "Execution status",
            "example": "completed"
          },
          "flowSwitch": {
            "type": "boolean",
            "description": "Whether flow was switched",
            "example": false
          },
          "attachments": {
            "type": "array",
            "description": "Response attachments",
            "example": []
          },
          "generativeOutputs": {
            "type": "array",
            "description": "Generated outputs",
            "example": []
          }
        },
        "required": [
          "success",
          "executionId",
          "interactionId",
          "response",
          "type",
          "nextExpectedInput",
          "goalCompletion",
          "executionStatus",
          "flowSwitch",
          "attachments",
          "generativeOutputs"
        ]
      },
      "associations_v3_createRelationReqDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "clF1LD04GTUKN3b3XuOj",
            "description": "Your Sub Account's ID"
          },
          "associationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Association's Id"
          },
          "firstRecordId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "First Record's Id. For instance, if you have an association between a contact and a custom object, and you specify the contact as the first object while creating the association, then your firstRecordId would be the contactId "
          },
          "secondRecordId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Second Record's Id.For instance, if you have an association between a contact and a custom object, and you specify the custom object as the second entity while creating the association, then your secondRecordId would be the customObject record Id"
          }
        },
        "required": [
          "locationId",
          "associationId",
          "firstRecordId",
          "secondRecordId"
        ]
      },
      "associations_v3_GetPostSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "string"
          },
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "key": {
            "type": "string",
            "example": "student",
            "description": "First Objects Association Label (custom_objects.children)"
          },
          "firstObjectLabel": {
            "type": "object",
            "example": "student",
            "description": "First Objects Association Label (custom_objects.children)"
          },
          "firstObjectKey": {
            "type": "object",
            "example": "custom_objects.children",
            "description": "First Objects Key"
          },
          "secondObjectLabel": {
            "type": "object",
            "example": "Teacher",
            "description": "Second Object Association Label (contact)"
          },
          "secondObjectKey": {
            "type": "object",
            "example": "contact",
            "description": "Second Objects Key"
          },
          "associationType": {
            "type": "object",
            "example": "USER_DEFINED",
            "description": "Association Type can be USER_DEFINED or SYSTEM_DEFINED"
          }
        },
        "required": [
          "locationId",
          "id",
          "key",
          "firstObjectLabel",
          "firstObjectKey",
          "secondObjectLabel",
          "secondObjectKey",
          "associationType"
        ]
      },
      "associations_v3_createAssociationReqDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "string"
          },
          "key": {
            "type": "string",
            "example": "student_teacher",
            "description": "Association's Unique key"
          },
          "firstObjectLabel": {
            "type": "object",
            "example": "student",
            "description": "First Objects Association Label (custom_objects.children)"
          },
          "firstObjectKey": {
            "type": "object",
            "example": "custom_objects.children",
            "description": "First Objects Key"
          },
          "secondObjectLabel": {
            "type": "object",
            "example": "Teacher",
            "description": "Second Object Association Label (contact)"
          },
          "secondObjectKey": {
            "type": "object",
            "example": "contact",
            "description": "Second Objects Key"
          }
        },
        "required": [
          "locationId",
          "key",
          "firstObjectLabel",
          "firstObjectKey",
          "secondObjectLabel",
          "secondObjectKey"
        ]
      },
      "associations_v3_UpdateAssociationReqDto": {
        "type": "object",
        "properties": {
          "firstObjectLabel": {
            "type": "object",
            "example": "student"
          },
          "secondObjectLabel": {
            "type": "object",
            "example": "tutor"
          }
        },
        "required": [
          "firstObjectLabel",
          "secondObjectLabel"
        ]
      },
      "associations_v3_DeleteAssociationsResponseDTO": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "example": true,
            "description": "Deletion status"
          },
          "id": {
            "type": "string",
            "example": "6d6f6e676f5f6576656e7473",
            "description": "Association Id"
          },
          "message": {
            "type": "string",
            "example": "Association deleted successfully"
          }
        },
        "required": [
          "deleted",
          "id",
          "message"
        ]
      },
      "blogs_v3_UrlSlugCheckResponseDTO": {
        "type": "object",
        "properties": {
          "exists": {
            "type": "boolean",
            "description": "Indicates whether the url slug exists or not"
          }
        },
        "required": [
          "exists"
        ]
      },
      "blogs_v3_UpdateBlogPostParams": {
        "type": "object",
        "properties": {
          "title": {
            "example": "Your blog title",
            "type": "string"
          },
          "locationId": {
            "example": "Location ID",
            "type": "string"
          },
          "blogId": {
            "example": "Blog ID",
            "type": "string",
            "description": "You can find the blog id from blog site dashboard link"
          },
          "imageUrl": {
            "example": "Image URl",
            "type": "string"
          },
          "description": {
            "example": "A short description",
            "type": "string"
          },
          "rawHTML": {
            "example": "<h1>Your blog content</h1>",
            "type": "string"
          },
          "status": {
            "type": "string",
            "example": "PUBLISHED",
            "schema": {
              "type": "string"
            },
            "enum": [
              "DRAFT",
              "PUBLISHED",
              "SCHEDULED",
              "ARCHIVED"
            ]
          },
          "imageAltText": {
            "example": "Alt text for your blog image",
            "type": "string"
          },
          "categories": {
            "example": [
              "9c48df2694a849b6089f9d0d3513efe",
              "6683abde331c041f32c07aee"
            ],
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This needs to be array of category ids, which you can get from the category get api call."
          },
          "tags": {
            "example": [
              "blog",
              "seo"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "author": {
            "example": "6683abde331c041f32c07aea",
            "type": "string",
            "description": "This needs to be author id, which you can get from the author get api call."
          },
          "urlSlug": {
            "example": "any-blog-post-url",
            "type": "string"
          },
          "wordCount": {
            "example": 100,
            "type": "number"
          },
          "canonicalLink": {
            "example": "https://blog.crm.gesvision.com/post/testing-unsplash",
            "type": "string"
          },
          "publishedAt": {
            "example": "2025-02-05T18:30:47.000Z",
            "type": "string",
            "description": "Provide ISO timestamp"
          }
        },
        "required": [
          "title",
          "locationId",
          "blogId",
          "imageUrl",
          "description",
          "rawHTML",
          "status",
          "imageAltText",
          "categories",
          "author",
          "urlSlug",
          "publishedAt",
          "wordCount"
        ]
      },
      "blogs_v3_BlogPostUpdateResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "updatedBlogPost": {
            "$ref": "#/components/schemas/blogs_v3_BlogPostResponseDTO"
          }
        },
        "required": [
          "updatedBlogPost"
        ]
      },
      "blogs_v3_CreateBlogPostParams": {
        "type": "object",
        "properties": {
          "title": {
            "example": "Your blog title",
            "type": "string"
          },
          "locationId": {
            "example": "Location ID",
            "type": "string"
          },
          "blogId": {
            "example": "Blog ID",
            "type": "string",
            "description": "You can find the blog id from blog site dashboard link"
          },
          "imageUrl": {
            "example": "Image URl",
            "type": "string"
          },
          "description": {
            "example": "A short description",
            "type": "string"
          },
          "rawHTML": {
            "example": "<h1>Your blog content</h1>",
            "type": "string"
          },
          "status": {
            "type": "string",
            "example": "This can be PUBLISHED OR SCHEDULED OR ARCHIVED OR DRAFT",
            "schema": {
              "type": "string"
            },
            "enum": [
              "DRAFT",
              "PUBLISHED",
              "SCHEDULED",
              "ARCHIVED"
            ]
          },
          "imageAltText": {
            "example": "Alt text for your blog image",
            "type": "string"
          },
          "categories": {
            "example": [
              "9c48df2694a849b6089f9d0d3513efe",
              "6683abde331c041f32c07aee"
            ],
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This needs to be array of category ids, which you can get from the category get api call."
          },
          "tags": {
            "example": [
              "blog",
              "seo"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "author": {
            "example": "6683abde331c041f32c07aea",
            "type": "string",
            "description": "This needs to be author id, which you can get from the author get api call."
          },
          "urlSlug": {
            "example": "any-blog-post-url",
            "type": "string"
          },
          "canonicalLink": {
            "example": "https://blog.crm.gesvision.com/post/testing-unsplash",
            "type": "string"
          },
          "publishedAt": {
            "example": "2025-02-05T18:30:47.000Z",
            "type": "string",
            "description": "Provide ISO timestamp"
          }
        },
        "required": [
          "title",
          "locationId",
          "blogId",
          "imageUrl",
          "description",
          "rawHTML",
          "status",
          "imageAltText",
          "categories",
          "author",
          "urlSlug",
          "publishedAt"
        ]
      },
      "blogs_v3_BlogPostCreateResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/blogs_v3_BlogPostResponseDTO"
          }
        },
        "required": [
          "data"
        ]
      },
      "blogs_v3_AuthorsResponseDTO": {
        "type": "object",
        "properties": {
          "authors": {
            "type": "array",
            "description": "Array of authors",
            "items": {
              "$ref": "#/components/schemas/blogs_v3_AuthorResponseDTO"
            }
          }
        },
        "required": [
          "authors"
        ]
      },
      "blogs_v3_AuthorResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "name": {
            "type": "string",
            "example": "CRM Gesvision"
          },
          "locationId": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "updatedAt": {
            "type": "string",
            "example": "2025-01-03T11:06:35.822Z"
          },
          "canonicalLink": {
            "type": "string",
            "example": "https://blog.crm.gesvision.com/post/technology"
          }
        },
        "required": [
          "_id",
          "name",
          "locationId",
          "updatedAt",
          "canonicalLink"
        ]
      },
      "blogs_v3_CategoriesResponseDTO": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "description": "Array of categories",
            "items": {
              "$ref": "#/components/schemas/blogs_v3_CategoryResponseDTO"
            }
          }
        },
        "required": [
          "categories"
        ]
      },
      "blogs_v3_CategoryResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "label": {
            "type": "string",
            "example": "CRM Gesvision"
          },
          "locationId": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6"
          },
          "updatedAt": {
            "type": "string",
            "example": "2025-01-03T11:06:35.822Z"
          },
          "canonicalLink": {
            "type": "string",
            "example": "https://blog.crm.gesvision.com/doc/category/agency-growth"
          },
          "urlSlug": {
            "type": "string",
            "example": "agency-growth"
          }
        },
        "required": [
          "_id",
          "name",
          "locationId",
          "updatedAt",
          "canonicalLink",
          "urlSlug"
        ]
      },
      "blogs_v3_BlogGetResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "description": "Object containing response data of blog",
            "items": {
              "$ref": "#/components/schemas/blogs_v3_BlogResponseDTO"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "blogs_v3_BlogResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "lMOzIQZne5m6zQ528sT6",
            "description": "Unique identifier of the blog"
          },
          "name": {
            "type": "string",
            "example": "My blog",
            "description": "Name of the blog"
          }
        },
        "required": [
          "_id",
          "name"
        ]
      },
      "blogs_v3_BlogPostGetResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "blogs": {
            "type": "array",
            "description": "Object containing response data of blog posts",
            "items": {
              "$ref": "#/components/schemas/blogs_v3_BlogPostResponseDTO"
            }
          }
        },
        "required": [
          "blogs"
        ]
      },
      "blogs_v3_BlogPostResponseDTO": {
        "type": "object",
        "properties": {
          "categories": {
            "example": [
              "659ecabc4a37969a2b7cc370",
              "6683abde331c041f32c07aee"
            ],
            "description": "Array of category IDs associated with the blog post",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "example": [
              "Apple",
              "Banana"
            ],
            "description": "Array of tags associated with the blog post",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "archived": {
            "type": "boolean",
            "example": false,
            "description": "Indicates whether the blog post is archived"
          },
          "_id": {
            "type": "string",
            "example": "66c381b38be80858b9af62b6",
            "description": "Unique identifier of the blog post"
          },
          "title": {
            "type": "string",
            "example": "Banana is good source of energy",
            "description": "Title of the blog post"
          },
          "description": {
            "type": "string",
            "example": "Description",
            "description": "Description of the blog post"
          },
          "imageUrl": {
            "type": "string",
            "example": "https://storage.googleapis.com/crm-media/fACm0Ojm5oC70G3DcFmE/media/66b5aa3b1745b2713a8d033f.jpeg",
            "description": "URL of the image associated with the blog post"
          },
          "status": {
            "type": "string",
            "example": "PUBLISHED",
            "description": "Publication status of the blog post"
          },
          "imageAltText": {
            "type": "string",
            "example": "alt",
            "description": "Alternative text for the blog post image"
          },
          "urlSlug": {
            "type": "string",
            "example": "banana-good-energy",
            "description": "URL slug for the blog post"
          },
          "canonicalLink": {
            "type": "string",
            "example": "https://blog.chatgpts.agency/post/test-8384",
            "description": "Canonical link of the blog post"
          },
          "author": {
            "type": "string",
            "example": "659ec9634a3796e4e47cc360",
            "description": "Identifier of the author of the blog post"
          },
          "publishedAt": {
            "type": "string",
            "example": "2024-08-19T17:14:57.000Z",
            "description": "Timestamp when the blog post was published"
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-08-19T17:32:36.182Z",
            "description": "Timestamp when the blog post was last updated"
          }
        },
        "required": [
          "categories",
          "archived",
          "_id",
          "title",
          "description",
          "imageUrl",
          "status",
          "imageAltText",
          "urlSlug",
          "publishedAt",
          "updatedAt"
        ]
      },
      "brand_boards_v3_BrandVoicePublicV1Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Brand voice ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Brand voice name",
            "example": "My Brand Voice"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the default brand voice",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          }
        },
        "required": [
          "id",
          "name",
          "isDefault",
          "createdAt",
          "updatedAt"
        ]
      },
      "brand_boards_v3_ListBrandVoicesPublicV1ResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "description": "List of brand voices",
            "example": [
              {
                "id": "507f1f77bcf86cd799439011",
                "name": "My Brand Voice",
                "isDefault": false,
                "createdAt": "2024-01-05T12:00:00.000Z",
                "updatedAt": "2024-01-05T12:00:00.000Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_BrandVoicePublicV1Dto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of brand voices",
            "example": 25
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "items",
          "total"
        ]
      },
      "brand_boards_v3_InvalidLocationDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "HTTP status code for invalid location access",
            "example": 403
          },
          "message": {
            "type": "string",
            "description": "Error message describing the location access failure",
            "example": "The token does not have access to this location"
          }
        }
      },
      "brand_boards_v3_NotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "HTTP status code for not found",
            "example": 404
          },
          "message": {
            "type": "string",
            "description": "Error message describing the not found failure",
            "example": "Not Found"
          },
          "error": {
            "type": "string",
            "description": "Error type identifier",
            "example": "The requested resource was not found"
          }
        }
      },
      "brand_boards_v3_BrandVoiceAnswersDto": {
        "type": "object",
        "properties": {
          "brandName": {
            "type": "string",
            "description": "Brand Name",
            "example": "Acme Inc"
          },
          "toneOfVoice": {
            "type": "string",
            "description": "Tone of Voice",
            "example": "Professional and friendly"
          },
          "targetAudience": {
            "type": "string",
            "description": "Target Audience",
            "example": "Small business owners"
          },
          "customerPainPoints": {
            "type": "string",
            "description": "Customer Pain Points",
            "example": "Difficulty with time management"
          },
          "businessType": {
            "type": "string",
            "description": "Business Type",
            "example": "Software Development"
          },
          "companyWebsite": {
            "type": "string",
            "description": "Company Website",
            "example": "https://example.com"
          },
          "companyEmail": {
            "type": "string",
            "description": "Company Email",
            "example": "contact@example.com"
          },
          "companyAddress": {
            "type": "string",
            "description": "Company Address",
            "example": "123 Main St, Anytown, CA"
          },
          "phone": {
            "type": "object",
            "description": "Phone Information",
            "example": {
              "phoneNumber": "5551234567",
              "countryCode": "US"
            }
          },
          "businessHours": {
            "type": "string",
            "description": "Business Hours",
            "example": "Mon-Fri 9am-5pm"
          },
          "brandPromise": {
            "type": "string",
            "description": "Brand Promise",
            "example": "We deliver on time, every time"
          },
          "brandValues": {
            "type": "string",
            "description": "Brand Values",
            "example": "Integrity, Excellence, Innovation"
          },
          "brandPurpose": {
            "type": "string",
            "description": "Brand Purpose",
            "example": "To empower small businesses with technology"
          },
          "competitiveAdvantage": {
            "type": "string",
            "description": "Competitive Advantage",
            "example": "Proprietary AI technology"
          },
          "risksOfInaction": {
            "type": "string",
            "description": "Risks of Inaction",
            "example": "Falling behind competitors"
          },
          "uniqueSellingProposition": {
            "type": "string",
            "description": "Unique Selling Proposition",
            "example": "The only solution that integrates with all major platforms"
          },
          "callToAction": {
            "type": "string",
            "description": "Call to Action",
            "example": "Schedule a demo today"
          }
        },
        "required": [
          "brandName",
          "toneOfVoice",
          "targetAudience",
          "customerPainPoints"
        ]
      },
      "brand_boards_v3_CreateBrandVoicePublicV1BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name",
            "example": "My Brand Voice"
          },
          "type": {
            "type": "string",
            "description": "Creation type. \"manual\" creates with provided custom answers, \"url\" generates answers from a website, \"description\" generates answers from a text description",
            "enum": [
              "manual",
              "url",
              "description"
            ],
            "example": "manual"
          },
          "url": {
            "type": "string",
            "description": "Website URL to generate brand voice from. Required when type is \"url\"",
            "example": "https://example.com"
          },
          "description": {
            "type": "string",
            "description": "Company description to generate brand voice from. Required when type is \"description\", optional when type is \"url\"",
            "example": "We are a tech company focused on innovative solutions for small businesses"
          },
          "answers": {
            "description": "Brand voice answers. Required when type is \"manual\"",
            "example": {
              "brandName": "Acme Inc",
              "toneOfVoice": "Professional and friendly",
              "targetAudience": "Small business owners",
              "customerPainPoints": "Difficulty with time management"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_BrandVoiceAnswersDto"
              }
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "brand_boards_v3_BrandVoiceAnswersPublicV1Dto": {
        "type": "object",
        "properties": {
          "brandName": {
            "type": "string",
            "description": "Brand Name",
            "example": "Acme Inc"
          },
          "toneOfVoice": {
            "type": "string",
            "description": "Tone of Voice",
            "example": "Professional and friendly"
          },
          "targetAudience": {
            "type": "string",
            "description": "Target Audience",
            "example": "Small business owners"
          },
          "customerPainPoints": {
            "type": "string",
            "description": "Customer Pain Points",
            "example": "Difficulty with time management"
          },
          "businessType": {
            "type": "string",
            "description": "Business Type",
            "example": "Software Development"
          },
          "companyWebsite": {
            "type": "string",
            "description": "Company Website",
            "example": "https://example.com"
          },
          "companyEmail": {
            "type": "string",
            "description": "Company Email",
            "example": "contact@example.com"
          },
          "companyAddress": {
            "type": "string",
            "description": "Company Address",
            "example": "123 Main St, Anytown, CA"
          },
          "phone": {
            "type": "object",
            "description": "Phone Information",
            "example": {
              "phoneNumber": "5551234567",
              "countryCode": "US"
            }
          },
          "businessHours": {
            "type": "string",
            "description": "Business Hours",
            "example": "Mon-Fri 9am-5pm"
          },
          "brandPromise": {
            "type": "string",
            "description": "Brand Promise",
            "example": "We deliver on time, every time"
          },
          "brandValues": {
            "type": "string",
            "description": "Brand Values",
            "example": "Integrity, Excellence, Innovation"
          },
          "brandPurpose": {
            "type": "string",
            "description": "Brand Purpose",
            "example": "To empower small businesses with technology"
          },
          "competitiveAdvantage": {
            "type": "string",
            "description": "Competitive Advantage",
            "example": "Proprietary AI technology"
          },
          "risksOfInaction": {
            "type": "string",
            "description": "Risks of Inaction",
            "example": "Falling behind competitors"
          },
          "uniqueSellingProposition": {
            "type": "string",
            "description": "Unique Selling Proposition",
            "example": "The only solution that integrates with all major platforms"
          },
          "callToAction": {
            "type": "string",
            "description": "Call to Action",
            "example": "Schedule a demo today"
          }
        }
      },
      "brand_boards_v3_CreateBrandVoicePublicV1ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Brand voice ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Brand voice name",
            "example": "My Brand Voice"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the default brand voice",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "oHJiAh0wDG3BzmzACVD6"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the brand voice has been soft deleted",
            "example": false
          },
          "answers": {
            "description": "Brand voice answers",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_BrandVoiceAnswersPublicV1Dto"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "isDefault",
          "createdAt",
          "updatedAt",
          "locationId",
          "deleted"
        ]
      },
      "brand_boards_v3_GetBrandVoicePublicV1ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Brand voice ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Brand voice name",
            "example": "My Brand Voice"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the default brand voice",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "oHJiAh0wDG3BzmzACVD6"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the brand voice has been soft deleted",
            "example": false
          },
          "answers": {
            "description": "Brand voice answers",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_BrandVoiceAnswersPublicV1Dto"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "isDefault",
          "createdAt",
          "updatedAt",
          "locationId",
          "deleted"
        ]
      },
      "brand_boards_v3_UpdateBrandVoiceAnswersDto": {
        "type": "object",
        "properties": {
          "brandName": {
            "type": "string",
            "description": "Brand Name",
            "example": "Acme Inc"
          },
          "toneOfVoice": {
            "type": "string",
            "description": "Tone of Voice",
            "example": "Professional and friendly"
          },
          "targetAudience": {
            "type": "string",
            "description": "Target Audience",
            "example": "Small business owners"
          },
          "customerPainPoints": {
            "type": "string",
            "description": "Customer Pain Points",
            "example": "Difficulty with time management"
          },
          "businessType": {
            "type": "string",
            "description": "Business Type",
            "example": "Software Development"
          },
          "companyWebsite": {
            "type": "string",
            "description": "Company Website",
            "example": "https://example.com"
          },
          "companyEmail": {
            "type": "string",
            "description": "Company Email",
            "example": "contact@example.com"
          },
          "companyAddress": {
            "type": "string",
            "description": "Company Address",
            "example": "123 Main St, Anytown, CA"
          },
          "phone": {
            "type": "object",
            "description": "Phone Information",
            "example": {
              "phoneNumber": "5551234567",
              "countryCode": "US"
            }
          },
          "businessHours": {
            "type": "string",
            "description": "Business Hours",
            "example": "Mon-Fri 9am-5pm"
          },
          "brandPromise": {
            "type": "string",
            "description": "Brand Promise",
            "example": "We deliver on time, every time"
          },
          "brandValues": {
            "type": "string",
            "description": "Brand Values",
            "example": "Integrity, Excellence, Innovation"
          },
          "brandPurpose": {
            "type": "string",
            "description": "Brand Purpose",
            "example": "To empower small businesses with technology"
          },
          "competitiveAdvantage": {
            "type": "string",
            "description": "Competitive Advantage",
            "example": "Proprietary AI technology"
          },
          "risksOfInaction": {
            "type": "string",
            "description": "Risks of Inaction",
            "example": "Falling behind competitors"
          },
          "uniqueSellingProposition": {
            "type": "string",
            "description": "Unique Selling Proposition",
            "example": "The only solution that integrates with all major platforms"
          },
          "callToAction": {
            "type": "string",
            "description": "Call to Action",
            "example": "Schedule a demo today"
          }
        }
      },
      "brand_boards_v3_UpdateBrandVoicePublicV1BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name",
            "example": "My Brand Voice"
          },
          "answers": {
            "description": "Updated answers",
            "example": {
              "brandName": "Brand Name",
              "toneOfVoice": "Friendly"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_UpdateBrandVoiceAnswersDto"
              }
            ]
          }
        }
      },
      "brand_boards_v3_UpdateBrandVoicePublicV1ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Brand voice ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Brand voice name",
            "example": "My Brand Voice"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the default brand voice",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "oHJiAh0wDG3BzmzACVD6"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the brand voice has been soft deleted",
            "example": false
          },
          "answers": {
            "description": "Brand voice answers",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_BrandVoiceAnswersPublicV1Dto"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "isDefault",
          "createdAt",
          "updatedAt",
          "locationId",
          "deleted"
        ]
      },
      "brand_boards_v3_DeleteBrandVoicePublicV1ResponseDto": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the brand voice is deleted",
            "example": true
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "brand_boards_v3_SetDefaultBrandVoicePublicV1ResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the operation was successful",
            "example": true
          },
          "brandVoiceId": {
            "type": "string",
            "description": "Brand voice ID that was set as default",
            "example": "507f1f77bcf86cd799439011"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "success",
          "brandVoiceId"
        ]
      },
      "brand_boards_v3_Logo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the logo",
            "example": "logo_abc123"
          },
          "url": {
            "type": "string",
            "description": "Public URL of the logo image. Used for uploading to the brand board folder in media library",
            "example": "https://storage.googleapis.com/bucket/logos/my-logo.png"
          },
          "label": {
            "type": "string",
            "description": "Display label for the logo (e.g., Primary, Secondary)",
            "example": "Primary Logo"
          },
          "path": {
            "type": "string",
            "description": "Storage path of the logo in the media library",
            "example": "/locations/ve9EPM428h8vShlRW1KT/logos/my-logo.png"
          }
        },
        "required": [
          "url",
          "label",
          "path"
        ]
      },
      "brand_boards_v3_Color": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the color",
            "example": "color_xyz789"
          },
          "hexa": {
            "type": "string",
            "description": "Color in 8-digit hexadecimal notation with alpha channel",
            "example": "#FF5733FF"
          },
          "rgba": {
            "type": "string",
            "description": "Color with red, green, blue, and alpha channel values",
            "example": "rgba(255, 87, 51, 1)"
          },
          "hex": {
            "type": "string",
            "description": "Color in HEX format",
            "example": "#FF5733"
          },
          "rgb": {
            "type": "string",
            "description": "Color in RGB format",
            "example": "rgb(255, 87, 51)"
          },
          "label": {
            "type": "string",
            "description": "Display label for the color",
            "example": "Brand Orange"
          }
        },
        "required": [
          "hexa",
          "rgba",
          "hex",
          "rgb",
          "label"
        ]
      },
      "brand_boards_v3_Font": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the font",
            "example": "font_def456"
          },
          "font": {
            "type": "string",
            "description": "Font family name",
            "example": "Montserrat"
          },
          "fallback": {
            "type": "string",
            "description": "Fallback font family",
            "example": "sans-serif"
          },
          "label": {
            "type": "string",
            "description": "Display label for the font",
            "example": "Heading Font"
          }
        },
        "required": [
          "font",
          "fallback",
          "label"
        ]
      },
      "brand_boards_v3_CreateBrandBoardParam": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID where the brand board will be created",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Name of the brand board",
            "example": "My Brand Board"
          },
          "logos": {
            "description": "Array of logos for the brand board",
            "example": [
              {
                "url": "https://storage.googleapis.com/bucket/logos/my-logo.png",
                "label": "Primary Logo",
                "path": "/locations/ve9EPM428h8vShlRW1KT/logos/my-logo.png"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Logo"
            }
          },
          "colors": {
            "description": "Array of colors for the brand board",
            "example": [
              {
                "hexa": "#FF5733FF",
                "rgba": "rgba(255, 87, 51, 1)",
                "hex": "#FF5733",
                "rgb": "rgb(255, 87, 51)",
                "label": "Brand Orange"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Color"
            }
          },
          "fonts": {
            "description": "Array of fonts for the brand board",
            "example": [
              {
                "font": "Montserrat",
                "fallback": "sans-serif",
                "label": "Heading Font"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Font"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Set as the default brand board for this location",
            "example": true
          },
          "brandBoardId": {
            "type": "string",
            "description": "Source brand board ID to copy from (creates a new brand board based on this template)",
            "example": "507f1f77bcf86cd799439011"
          },
          "parentId": {
            "type": "string",
            "description": "Parent folder ID in media library for organizing brand boards",
            "example": "507f1f77bcf86cd799439011"
          },
          "type": {
            "type": "string",
            "description": "Source type indicating how the brand board was created",
            "enum": [
              "template",
              "blank",
              "snapshot",
              "url"
            ],
            "example": "blank"
          },
          "url": {
            "type": "string",
            "description": "Website URL to extract design kit from (colors, fonts, logos)",
            "example": "https://example.com"
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "brand_boards_v3_MetaData": {
        "type": "object",
        "properties": {
          "updatedBy": {
            "type": "string",
            "description": "User ID who last updated the brand board",
            "example": "user_abc123"
          },
          "lastAction": {
            "type": "string",
            "description": "Last action performed on the brand board",
            "example": "UPDATE"
          },
          "sourceId": {
            "type": "string",
            "description": "Source brand board ID if created from a template",
            "example": "507f1f77bcf86cd799439011"
          },
          "sourceType": {
            "type": "string",
            "description": "How the brand board was created",
            "example": "blank",
            "enum": [
              "template",
              "blank",
              "snapshot",
              "url"
            ]
          }
        }
      },
      "brand_boards_v3_MissingAssets": {
        "type": "object",
        "properties": {
          "logos": {
            "description": "Logo labels that used fallbacks",
            "example": [
              "Footer"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fonts": {
            "description": "Font labels that used defaults",
            "example": [
              "Arial"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "colors": {
            "description": "Color labels that used defaults",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "logos",
          "fonts",
          "colors"
        ]
      },
      "brand_boards_v3_GetBrandBoardSuccessDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Brand board ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Brand board name",
            "example": "My Brand Board"
          },
          "logos": {
            "description": "Array of logos",
            "example": [
              {
                "url": "https://storage.googleapis.com/bucket/logos/my-logo.png",
                "label": "Primary Logo",
                "path": "/locations/ve9EPM428h8vShlRW1KT/logos/my-logo.png"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Logo"
            }
          },
          "colors": {
            "description": "Array of brand colors",
            "example": [
              {
                "hexa": "#FF5733FF",
                "rgba": "rgba(255, 87, 51, 1)",
                "hex": "#FF5733",
                "rgb": "rgb(255, 87, 51)",
                "label": "Brand Orange"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Color"
            }
          },
          "fonts": {
            "description": "Array of brand fonts",
            "example": [
              {
                "font": "Montserrat",
                "fallback": "sans-serif",
                "label": "Heading Font"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Font"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default brand board for the location",
            "example": false
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the brand board has been soft deleted",
            "example": false
          },
          "parentId": {
            "type": "string",
            "description": "Parent folder ID in media library",
            "example": "507f1f77bcf86cd799439011"
          },
          "folderId": {
            "type": "string",
            "description": "Media library folder ID for this brand board",
            "example": "507f1f77bcf86cd799439011"
          },
          "originId": {
            "type": "string",
            "description": "Original brand board ID if cloned from snapshot",
            "example": "507f1f77bcf86cd799439011"
          },
          "meta": {
            "description": "Metadata about the brand board",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_MetaData"
              }
            ]
          },
          "missingAssets": {
            "description": "Assets that used fallbacks/defaults (only returned when creating from URL)",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_MissingAssets"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "default",
          "deleted"
        ]
      },
      "brand_boards_v3_BrandBoardListItemDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Brand board ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Brand board name",
            "example": "My Brand Board"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-01-05T12:00:00.000Z"
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default brand board for the location",
            "example": false
          },
          "meta": {
            "description": "Metadata about the brand board",
            "allOf": [
              {
                "$ref": "#/components/schemas/brand_boards_v3_MetaData"
              }
            ]
          }
        },
        "required": [
          "_id",
          "name",
          "updatedAt"
        ]
      },
      "brand_boards_v3_GetBrandBoardsByLocationSuccessDTO": {
        "type": "object",
        "properties": {
          "brandBoards": {
            "description": "Array of brand boards for the location",
            "example": [
              {
                "_id": "507f1f77bcf86cd799439011",
                "name": "My Brand Board",
                "updatedAt": "2024-01-05T12:00:00.000Z",
                "default": true,
                "meta": {
                  "updatedBy": "user_abc123",
                  "lastAction": "UPDATE",
                  "sourceType": "blank"
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_BrandBoardListItemDTO"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of brand boards matching the query",
            "example": 42
          }
        },
        "required": [
          "brandBoards",
          "totalCount"
        ]
      },
      "brand_boards_v3_UpdateBrandBoardBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the brand board",
            "example": "My Brandboard 2"
          },
          "logos": {
            "description": "Array of logos for the brand board",
            "example": [
              {
                "url": "https://storage.googleapis.com/bucket/logos/my-logo.png",
                "label": "Primary Logo",
                "path": "/locations/ve9EPM428h8vShlRW1KT/logos/my-logo.png"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Logo"
            }
          },
          "colors": {
            "description": "Array of colors for the brand board",
            "example": [
              {
                "hexa": "#FF5733FF",
                "rgba": "rgba(255, 87, 51, 1)",
                "hex": "#FF5733",
                "rgb": "rgb(255, 87, 51)",
                "label": "Brand Orange"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Color"
            }
          },
          "fonts": {
            "description": "Array of fonts for the brand board",
            "example": [
              {
                "font": "Montserrat",
                "fallback": "sans-serif",
                "label": "Heading Font"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/brand_boards_v3_Font"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Set as the default brand board for this location",
            "example": true
          },
          "parentId": {
            "type": "string",
            "description": "Parent folder ID in media library (reserved for future use)",
            "example": "507f1f77bcf86cd799439011"
          }
        }
      },
      "businesses_v3_BusinessCreatedByOrUpdatedBy": {
        "type": "object",
        "properties": {}
      },
      "businesses_v3_BusinessDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Business Id",
            "example": "63771dcac1116f0e21de8e12"
          },
          "name": {
            "type": "string",
            "description": "Business Name",
            "example": "Microsoft"
          },
          "phone": {
            "type": "string",
            "description": "phone number"
          },
          "email": {
            "type": "string",
            "description": "email",
            "example": "abc@microsoft.com"
          },
          "website": {
            "type": "string",
            "description": "website",
            "example": "microsoft.com"
          },
          "address": {
            "type": "string",
            "description": "address"
          },
          "city": {
            "type": "string",
            "description": "city"
          },
          "description": {
            "type": "string",
            "description": "description"
          },
          "state": {
            "type": "string",
            "description": "state"
          },
          "postalCode": {
            "type": "string",
            "description": "postal code"
          },
          "country": {
            "type": "string",
            "description": "country",
            "example": "united states"
          },
          "updatedBy": {
            "description": "updated By",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_v3_BusinessCreatedByOrUpdatedBy"
              }
            ]
          },
          "locationId": {
            "type": "string",
            "description": "locaitonId"
          },
          "createdBy": {
            "description": "Created By",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_v3_BusinessCreatedByOrUpdatedBy"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Creation Time"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Last updation time"
          }
        },
        "required": [
          "id",
          "name",
          "locationId"
        ]
      },
      "businesses_v3_GetBusinessByLocationResponseDto": {
        "type": "object",
        "properties": {
          "businesses": {
            "description": "Business Response",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/businesses_v3_BusinessDto"
            }
          }
        },
        "required": [
          "businesses"
        ]
      },
      "businesses_v3_CreateBusinessDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Microsoft"
          },
          "locationId": {
            "type": "string",
            "example": "5DP4iH6HLkQsiKESj6rh"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "website": {
            "type": "string",
            "example": "www.xyz.com"
          },
          "address": {
            "type": "string",
            "example": "street adress"
          },
          "city": {
            "type": "string",
            "example": "new york"
          },
          "postalCode": {
            "type": "string",
            "example": "12312312"
          },
          "state": {
            "type": "string",
            "example": "new york"
          },
          "country": {
            "type": "string",
            "example": "us"
          },
          "description": {
            "type": "string",
            "example": "business description"
          }
        },
        "required": [
          "name",
          "locationId"
        ]
      },
      "businesses_v3_UpdateBusinessResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success Value",
            "example": true
          },
          "buiseness": {
            "description": "Business Response",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_v3_BusinessDto"
              }
            ]
          }
        },
        "required": [
          "success",
          "buiseness"
        ]
      },
      "businesses_v3_UpdateBusinessDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Microsoft"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "postalCode": {
            "type": "string",
            "example": "12312312"
          },
          "website": {
            "type": "string",
            "example": "www.xyz.com"
          },
          "address": {
            "type": "string",
            "example": "street adress"
          },
          "state": {
            "type": "string",
            "example": "new york"
          },
          "city": {
            "type": "string",
            "example": "new york"
          },
          "country": {
            "type": "string",
            "example": "us"
          },
          "description": {
            "type": "string",
            "example": "business description"
          }
        }
      },
      "businesses_v3_DeleteBusinessResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success value",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "businesses_v3_GetBusinessByIdResponseDto": {
        "type": "object",
        "properties": {
          "business": {
            "description": "Business Response",
            "allOf": [
              {
                "$ref": "#/components/schemas/businesses_v3_BusinessDto"
              }
            ]
          }
        },
        "required": [
          "business"
        ]
      },
      "calendars_v3_GroupDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "name": {
            "type": "string",
            "example": "group a"
          },
          "description": {
            "type": "string",
            "example": "group description"
          },
          "slug": {
            "type": "string",
            "example": "15-mins"
          },
          "isActive": {
            "type": "boolean",
            "example": true
          },
          "id": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          }
        },
        "required": [
          "locationId",
          "name",
          "description",
          "slug"
        ]
      },
      "calendars_v3_AllGroupsSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_GroupDTO"
            }
          }
        }
      },
      "calendars_v3_ValidateGroupSlugPostBody": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "slug": {
            "type": "string",
            "description": "Slug",
            "example": "calendar-1"
          }
        },
        "required": [
          "locationId",
          "slug"
        ]
      },
      "calendars_v3_ValidateGroupSlugSuccessResponseDTO": {
        "type": "object",
        "properties": {
          "available": {
            "type": "boolean"
          }
        },
        "required": [
          "available"
        ]
      },
      "calendars_v3_GroupCreateDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "name": {
            "type": "string",
            "example": "group a"
          },
          "description": {
            "type": "string",
            "example": "group description"
          },
          "slug": {
            "type": "string",
            "example": "15-mins"
          },
          "isActive": {
            "type": "boolean",
            "example": true
          }
        },
        "required": [
          "locationId",
          "name",
          "description",
          "slug"
        ]
      },
      "calendars_v3_GroupCreateSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "group": {
            "$ref": "#/components/schemas/calendars_v3_GroupDTO"
          }
        }
      },
      "calendars_v3_GroupSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": "true"
          }
        }
      },
      "calendars_v3_GroupStatusUpdateParams": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Is Active?",
            "example": true
          }
        },
        "required": [
          "isActive"
        ]
      },
      "calendars_v3_GroupUpdateDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "group a"
          },
          "description": {
            "type": "string",
            "example": "group description"
          },
          "slug": {
            "type": "string",
            "example": "15-mins"
          }
        },
        "required": [
          "name",
          "description",
          "slug"
        ]
      },
      "calendars_v3_ServiceResourceDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource ID",
            "example": "6985f6dfacf123513228d384"
          }
        },
        "required": [
          "id"
        ]
      },
      "calendars_v3_ServiceAddOnResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Add-on ID",
            "example": "6985f6dfacf123513228d384"
          },
          "quantity": {
            "type": "number",
            "description": "Add-on quantity",
            "example": 2
          }
        },
        "required": [
          "id"
        ]
      },
      "calendars_v3_ServiceDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Service ID",
            "example": "68e5f6dfacf123513228d384"
          },
          "serviceCategoryId": {
            "type": "string",
            "description": "Service Category ID",
            "example": "3c4d5e6f7890123456789abc"
          },
          "serviceStaffId": {
            "type": "string",
            "description": "Service Staff ID",
            "example": "7NkT25Vor1v4aQatFsv2"
          },
          "serviceStartTime": {
            "type": "string",
            "description": "Service Start Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "serviceEndTime": {
            "type": "string",
            "description": "Service End Time",
            "example": "2023-09-25T16:30:00+05:30"
          },
          "serviceResources": {
            "description": "Service Resources",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceResourceDTO"
            }
          },
          "serviceAddOns": {
            "description": "Service Add-ons",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceAddOnResponseDTO"
            }
          }
        },
        "required": [
          "id",
          "serviceCategoryId",
          "serviceStaffId",
          "serviceStartTime",
          "serviceEndTime"
        ]
      },
      "calendars_v3_ServiceBookingResponseDTO": {
        "type": "object",
        "properties": {
          "bookingId": {
            "type": "string",
            "description": "Booking ID",
            "example": "7NkT25Vor1v4aQatFsv2"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "serviceLocationId": {
            "type": "string",
            "description": "Service Location ID",
            "example": "65e5f6dfacf123513228d384"
          },
          "title": {
            "type": "string",
            "description": "Service Booking Title",
            "example": "John Doe - Hair Styling"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2023-09-25T16:30:00+05:30"
          },
          "services": {
            "description": "Services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone",
            "example": "America/New_York"
          },
          "status": {
            "type": "string",
            "description": "Status",
            "example": "confirmed"
          },
          "deleted": {
            "type": "boolean",
            "description": "Tells if the booking is deleted",
            "example": false
          },
          "dateAdded": {
            "type": "string",
            "description": "Date Added",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date Updated",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "createdBy": {
            "description": "Booking booked by metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_CreatedOrUpdatedBy"
              }
            ]
          },
          "meetingLocation": {
            "type": "string",
            "description": "Meeting Location (If service location is an ask the booker, then the meeting location is used for the booking)",
            "example": "123 Main St, Anytown, USA"
          }
        },
        "required": [
          "bookingId",
          "locationId",
          "contactId",
          "serviceLocationId",
          "title",
          "startTime",
          "endTime",
          "services",
          "timezone",
          "status",
          "deleted",
          "dateAdded",
          "dateUpdated",
          "createdBy"
        ]
      },
      "calendars_v3_ServiceBookingsListResponseDTO": {
        "type": "object",
        "properties": {
          "bookings": {
            "description": "Service Bookings",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceBookingResponseDTO"
            }
          }
        },
        "required": [
          "bookings"
        ]
      },
      "calendars_v3_ServiceBookingQueryDTO": {
        "type": "object",
        "properties": {
          "overrideAvailability": {
            "type": "boolean",
            "description": "If true the time slot validation would be avoided for any booking creation/update (even the skipSchedulingNotice)",
            "example": false,
            "default": false
          },
          "skipSchedulingNotice": {
            "type": "boolean",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "example": false,
            "default": false
          }
        }
      },
      "calendars_v3_ServiceAddOnDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Add-on ID",
            "example": "6985f6dfacf123513228d384"
          },
          "quantity": {
            "type": "number",
            "description": "Add-on quantity",
            "example": 2
          },
          "duration": {
            "type": "number",
            "description": "Add-on duration (in minutes)",
            "example": 30
          }
        },
        "required": [
          "id"
        ]
      },
      "calendars_v3_CreateBookingServiceDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Service ID",
            "example": "a3b4c5d6e7f8901234567890"
          },
          "staffId": {
            "type": "string",
            "description": "Staff ID",
            "example": "8MkU36Wps2w5bRbuGtw3"
          },
          "position": {
            "type": "number",
            "description": "Position",
            "example": 0
          },
          "addOns": {
            "description": "Add-ons",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceAddOnDTO"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "calendars_v3_CreatePublicServiceBookingDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2023-09-25T16:30:00+05:30"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone",
            "example": "America/New_York"
          },
          "services": {
            "description": "Services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CreateBookingServiceDTO"
            }
          },
          "serviceLocationId": {
            "type": "string",
            "description": "Service Location ID (If not provided, then the default service location will be used)",
            "example": "65e5f6dfacf123513228d384"
          },
          "meetingLocation": {
            "type": "string",
            "description": "Meeting Location (If service location is an ask the booker, then the meeting location is required)",
            "example": "123 Main St, Anytown, USA"
          },
          "title": {
            "type": "string",
            "description": "Service Booking Title",
            "example": "Service Appointment"
          },
          "status": {
            "type": "string",
            "description": "Status. (If not provided, the status configured in Service Global Settings will be used.)",
            "example": "confirmed",
            "enum": [
              "confirmed",
              "new"
            ]
          }
        },
        "required": [
          "locationId",
          "contactId",
          "startTime",
          "endTime",
          "timezone",
          "services"
        ]
      },
      "calendars_v3_CreateOrUpdateServiceBookingResponseDTO": {
        "type": "object",
        "properties": {
          "bookingId": {
            "type": "string",
            "description": "Booking ID",
            "example": "7NkT25Vor1v4aQatFsv2"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "serviceLocationId": {
            "type": "string",
            "description": "Service Location ID",
            "example": "65e5f6dfacf123513228d384"
          },
          "title": {
            "type": "string",
            "description": "Service Booking Title",
            "example": "John Doe - Hair Styling"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2023-09-25T16:30:00+05:30"
          },
          "services": {
            "description": "Services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone",
            "example": "America/New_York"
          },
          "status": {
            "type": "string",
            "description": "Status",
            "example": "confirmed"
          },
          "deleted": {
            "type": "boolean",
            "description": "Tells if the booking is deleted",
            "example": false
          },
          "dateAdded": {
            "type": "string",
            "description": "Date Added",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date Updated",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "createdBy": {
            "description": "Booking booked by metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_CreatedOrUpdatedBy"
              }
            ]
          },
          "meetingLocation": {
            "type": "string",
            "description": "Meeting Location (If service location is an ask the booker, then the meeting location is used for the booking)",
            "example": "123 Main St, Anytown, USA"
          },
          "messages": {
            "description": "Optional informative or warning messages (e.g. meeting location ignored for non-ask-booker locations)",
            "example": [
              "Meeting location is not supported for the selected service location and has been ignored."
            ],
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "bookingId",
          "locationId",
          "contactId",
          "serviceLocationId",
          "title",
          "startTime",
          "endTime",
          "services",
          "timezone",
          "status",
          "deleted",
          "dateAdded",
          "dateUpdated",
          "createdBy"
        ]
      },
      "calendars_v3_UpdateServiceBookingDTO": {
        "type": "object",
        "properties": {
          "serviceLocationId": {
            "type": "string",
            "description": "Service Location ID",
            "example": "65e5f6dfacf123513228d384"
          },
          "meetingLocation": {
            "type": "string",
            "description": "Meeting Location (If service location is an ask the booker, then the meeting location is required)",
            "example": "123 Main St, Anytown, USA"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Service Appointment"
          },
          "status": {
            "type": "string",
            "description": "Status",
            "example": "confirmed",
            "enum": [
              "confirmed",
              "cancelled",
              "invalid",
              "new",
              "showed",
              "no_show"
            ]
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2023-09-25T16:30:00+05:30"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone",
            "example": "America/New_York"
          },
          "services": {
            "description": "If provided, services sent in the request will replace the existing services in the booking.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CreateBookingServiceDTO"
            }
          }
        }
      },
      "calendars_v3_DeleteServiceBookingResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the deletion was successful",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Response message",
            "example": "Service booking deleted successfully"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "calendars_v3_PaymentDTO": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Service price",
            "example": 50
          },
          "deposit": {
            "type": "number",
            "description": "Deposit amount or percentage value",
            "example": 20
          },
          "depositType": {
            "type": "string",
            "description": "Deposit type",
            "example": "amount",
            "enum": [
              "percentage",
              "amount"
            ]
          }
        }
      },
      "calendars_v3_ServiceVariationDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Variation ID",
            "example": "65e5f6dfacf123513228d384"
          },
          "name": {
            "type": "string",
            "description": "Variation name",
            "example": "Standard Haircut"
          },
          "serviceDuration": {
            "type": "number",
            "description": "This controls the duration of the appointment",
            "example": 30
          },
          "serviceDurationUnit": {
            "type": "string",
            "description": "Duration unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "payment": {
            "description": "Payment details",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_PaymentDTO"
              }
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready",
            "example": 10
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Pre-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "postBuffer": {
            "type": "number",
            "description": "Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up",
            "example": 15
          },
          "postBufferUnit": {
            "type": "string",
            "description": "Post-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "calendars_v3_StaffDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Staff ID",
            "example": "65e5f6dfacf123513228d384"
          }
        },
        "required": [
          "id"
        ]
      },
      "calendars_v3_ServiceResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Service ID",
            "example": "65e5f6dfacf123513228d384"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "name": {
            "type": "string",
            "description": "Service name",
            "example": "Hair Styling"
          },
          "description": {
            "type": "string",
            "description": "Service description",
            "example": "Full hair styling session"
          },
          "slug": {
            "type": "string",
            "description": "Unique URL-friendly identifier",
            "example": "hair-styling"
          },
          "eventColor": {
            "type": "string",
            "description": "Service event color (hex)",
            "example": "#66C61C"
          },
          "coverImage": {
            "type": "string",
            "description": "Service cover image URL",
            "example": "https://example.com/cover.jpg"
          },
          "serviceCategoryId": {
            "type": "string",
            "description": "Service category ID",
            "example": "65e5f6dfacf123513228d381"
          },
          "payment": {
            "description": "Payment details",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_PaymentDTO"
              }
            ]
          },
          "serviceDuration": {
            "type": "number",
            "description": "This controls the duration of the appointment",
            "example": 60
          },
          "serviceDurationUnit": {
            "type": "string",
            "description": "Duration unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready",
            "example": 10
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Pre-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "postBuffer": {
            "type": "number",
            "description": "Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up",
            "example": 15
          },
          "postBufferUnit": {
            "type": "string",
            "description": "Post-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether service is private (not shown publicly)",
            "example": false,
            "default": false
          },
          "formId": {
            "type": "string",
            "description": "Custom form ID (will be used to display the custom form on the booking page, if only one service is selected)",
            "example": "65e5f6dfacf123513228d390"
          },
          "variations": {
            "description": "Service variations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceVariationDTO"
            }
          },
          "staff": {
            "description": "Assigned staff members",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_StaffDTO"
            }
          }
        },
        "required": [
          "id",
          "locationId",
          "name"
        ]
      },
      "calendars_v3_ServicesListResponseDTO": {
        "type": "object",
        "properties": {
          "services": {
            "description": "List of services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceResponseDTO"
            }
          }
        },
        "required": [
          "services"
        ]
      },
      "calendars_v3_ServiceResponseWrapperDTO": {
        "type": "object",
        "properties": {
          "service": {
            "description": "Service details",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_ServiceResponseDTO"
              }
            ]
          }
        },
        "required": [
          "service"
        ]
      },
      "calendars_v3_CreateServiceVariationDTO": {
        "type": "object",
        "properties": {
          "serviceDuration": {
            "type": "number",
            "description": "This controls the duration of the appointment",
            "example": 30
          },
          "serviceDurationUnit": {
            "type": "string",
            "description": "Duration unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready",
            "example": 10
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Pre-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "postBuffer": {
            "type": "number",
            "description": "Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up",
            "example": 15
          },
          "postBufferUnit": {
            "type": "string",
            "description": "Post-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "payment": {
            "description": "Payment details",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_PaymentDTO"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Variation name",
            "example": "Standard Haircut"
          }
        },
        "required": [
          "name"
        ]
      },
      "calendars_v3_CreateServiceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "name": {
            "type": "string",
            "description": "Service name",
            "example": "Hair Styling"
          },
          "slug": {
            "type": "string",
            "description": "Unique URL-friendly identifier",
            "example": "hair-styling"
          },
          "staff": {
            "description": "Assigned staff members (at least one required)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_StaffDTO"
            }
          },
          "description": {
            "type": "string",
            "description": "Service description",
            "example": "Full hair styling session"
          },
          "eventColor": {
            "type": "string",
            "description": "Service event color (hex)",
            "example": "#66C61C"
          },
          "coverImage": {
            "type": "string",
            "description": "Service cover image URL",
            "example": "https://example.com/cover.jpg"
          },
          "serviceCategoryId": {
            "type": "string",
            "description": "Service category ID (uses default category if not provided)",
            "example": "65e5f6dfacf123513228d381"
          },
          "payment": {
            "description": "Payment details (default amount is 0, currency configured in Service Global Settings is used.)",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_PaymentDTO"
              }
            ]
          },
          "serviceDuration": {
            "type": "number",
            "description": "This controls the duration of the appointment",
            "example": 30
          },
          "serviceDurationUnit": {
            "type": "string",
            "description": "Duration unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready",
            "example": 10
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Pre-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "postBuffer": {
            "type": "number",
            "description": "Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up",
            "example": 15
          },
          "postBufferUnit": {
            "type": "string",
            "description": "Post-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether service is private (not shown publicly)",
            "example": false
          },
          "formId": {
            "type": "string",
            "description": "Custom form ID (will be used to display the custom form on the booking page, if only one service is selected)",
            "example": "65e5f6dfacf123513228d390"
          },
          "variations": {
            "description": "Service variations (pass empty array for no variations)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CreateServiceVariationDTO"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "slug",
          "staff"
        ]
      },
      "calendars_v3_UpdateServiceVariationDTO": {
        "type": "object",
        "properties": {
          "serviceDuration": {
            "type": "number",
            "description": "This controls the duration of the appointment",
            "example": 30
          },
          "serviceDurationUnit": {
            "type": "string",
            "description": "Duration unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready",
            "example": 10
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Pre-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "postBuffer": {
            "type": "number",
            "description": "Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up",
            "example": 15
          },
          "postBufferUnit": {
            "type": "string",
            "description": "Post-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "payment": {
            "description": "Payment details",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_PaymentDTO"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "Variation ID",
            "example": "65e5f6dfacf123513228d385"
          },
          "name": {
            "type": "string",
            "description": "Variation name",
            "example": "Standard Haircut"
          }
        }
      },
      "calendars_v3_UpdateServiceDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Service name",
            "example": "Hair Styling"
          },
          "description": {
            "type": "string",
            "description": "Service description",
            "example": "Full hair styling session"
          },
          "slug": {
            "type": "string",
            "description": "Unique URL-friendly identifier",
            "example": "hair-styling"
          },
          "eventColor": {
            "type": "string",
            "description": "Service event color (hex)",
            "example": "#66C61C"
          },
          "coverImage": {
            "type": "string",
            "description": "Service cover image URL",
            "example": "https://example.com/cover.jpg"
          },
          "serviceCategoryId": {
            "type": "string",
            "description": "Service category ID",
            "example": "65e5f6dfacf123513228d381"
          },
          "payment": {
            "description": "Payment details (currency configured in Service Global Settings is used.)",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_PaymentDTO"
              }
            ]
          },
          "serviceDuration": {
            "type": "number",
            "description": "This controls the duration of the appointment",
            "example": 60
          },
          "serviceDurationUnit": {
            "type": "string",
            "description": "Duration unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready",
            "example": 10
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Pre-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "postBuffer": {
            "type": "number",
            "description": "Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up",
            "example": 15
          },
          "postBufferUnit": {
            "type": "string",
            "description": "Post-buffer unit",
            "example": "mins",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether service is private (not shown publicly)",
            "example": false
          },
          "formId": {
            "type": "string",
            "description": "Custom form ID (will be used to display the custom form on the booking page, if only one service is selected)",
            "example": "65e5f6dfacf123513228d390"
          },
          "staff": {
            "description": "Assigned staff members",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_StaffDTO"
            }
          },
          "variations": {
            "description": "Service variations (an empty array removes all variations). Include an id to update an existing variation; omit the id to create a new one.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_UpdateServiceVariationDTO"
            }
          }
        }
      },
      "calendars_v3_DeleteServiceResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Service deleted successfully"
          }
        },
        "required": [
          "success"
        ]
      },
      "calendars_v3_ServiceLocationResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Service Location ID",
            "example": "65e5f6dfacf123513228d384"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "name": {
            "type": "string",
            "description": "Location name",
            "example": "Downtown Wellness Center"
          },
          "slug": {
            "type": "string",
            "description": "Unique URL-friendly identifier for the service location",
            "example": "downtown-wellness-center"
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether location is active",
            "example": true,
            "default": true
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether location is private (not shown publicly)",
            "example": false,
            "default": false
          },
          "coverImage": {
            "type": "string",
            "description": "URL of the cover image displayed for this location",
            "example": "https://storage.example.com/locations/downtown-wellness-center/cover.jpg"
          },
          "locationType": {
            "type": "string",
            "description": "Location type",
            "example": "offline",
            "enum": [
              "offline",
              "ask_booker"
            ]
          },
          "address": {
            "type": "string",
            "description": "Use a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.",
            "example": "456 Market Street, Suite 200, San Francisco, CA 94105"
          },
          "phone": {
            "type": "string",
            "description": "Contact phone number for the service location",
            "example": "+1-415-555-0198"
          }
        },
        "required": [
          "id",
          "locationId",
          "name",
          "slug"
        ]
      },
      "calendars_v3_ServiceLocationListResponseDTO": {
        "type": "object",
        "properties": {
          "serviceLocations": {
            "description": "List of service locations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ServiceLocationResponseDTO"
            }
          }
        },
        "required": [
          "serviceLocations"
        ]
      },
      "calendars_v3_CreateServiceLocationDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "name": {
            "type": "string",
            "description": "Location name",
            "example": "Midtown Therapy Studio"
          },
          "slug": {
            "type": "string",
            "description": "URL-friendly slug identifier",
            "example": "midtown-therapy-studio"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "+1-212-555-0174"
          },
          "address": {
            "type": "string",
            "description": "Use a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.",
            "example": "789 5th Avenue, Floor 3, New York, NY 10022 / Home Service"
          },
          "coverImage": {
            "type": "string",
            "description": "URL of the cover image for this service location",
            "example": "https://storage.example.com/locations/midtown-therapy-studio/cover.jpg"
          },
          "locationType": {
            "type": "string",
            "description": "Location type",
            "example": "offline",
            "enum": [
              "offline",
              "ask_booker"
            ]
          }
        },
        "required": [
          "locationId",
          "name",
          "slug"
        ]
      },
      "calendars_v3_UpdateServiceLocationDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Location name",
            "example": "California Location"
          },
          "slug": {
            "type": "string",
            "description": "Updated URL-friendly slug identifier",
            "example": "midtown-wellness-therapy-studio"
          },
          "phone": {
            "type": "string",
            "description": "Updated contact phone number",
            "example": "+1-212-555-0199"
          },
          "address": {
            "type": "string",
            "description": "Use a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.",
            "example": "789 5th Avenue, Floor 5, New York, NY 10022"
          },
          "coverImage": {
            "type": "string",
            "description": "Updated URL of the cover image",
            "example": "https://storage.example.com/locations/midtown-wellness-studio/cover-v2.jpg"
          },
          "locationType": {
            "type": "string",
            "description": "Location type",
            "example": "offline",
            "enum": [
              "offline",
              "ask_booker"
            ]
          }
        }
      },
      "calendars_v3_DeleteServiceLocationResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Service deleted successfully"
          }
        },
        "required": [
          "success"
        ]
      },
      "calendars_v3_AppointmentCreateSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "meetingLocationType": {
            "type": "string",
            "description": "Meeting location type. \n- If `address` is provided in the request body, the `meetingLocationType` defaults to **custom**.",
            "example": "custom",
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "ms_teams",
              "google"
            ]
          },
          "meetingLocationId": {
            "type": "string",
            "description": "The unique identifier for the meeting location.\n- This value can be found in `calendar.locationConfigurations`or `calendar.teamMembers[].locationConfigurations`",
            "example": "custom_0",
            "default": "default"
          },
          "overrideLocationConfig": {
            "type": "boolean",
            "description": "Flag to override location config\n- **false** - If only `meetingLocationId` is provided\n- **true** - If only `meetingLocationType` is provided\n",
            "example": true
          },
          "appointmentStatus": {
            "type": "string",
            "example": "confirmed",
            "enum": [
              "new",
              "confirmed",
              "cancelled",
              "showed",
              "noshow",
              "invalid",
              "completed",
              "active"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "description": {
            "type": "string",
            "description": "Appointment Description",
            "example": "Booking a call to discuss the project"
          },
          "address": {
            "type": "string",
            "description": "Appointment Address",
            "example": "Zoom"
          },
          "ignoreDateRange": {
            "type": "boolean",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "example": false
          },
          "toNotify": {
            "type": "boolean",
            "description": "If set to false, the automations will not run. Defaults to true",
            "example": false,
            "default": true
          },
          "ignoreFreeSlotValidation": {
            "type": "boolean",
            "description": "If true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)",
            "example": true
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar Id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        },
        "required": [
          "calendarId",
          "locationId",
          "contactId",
          "startTime"
        ]
      },
      "calendars_v3_AppointmentSchemaResponse": {
        "type": "object",
        "properties": {
          "calendarId": {
            "type": "string",
            "description": "Calendar Id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "meetingLocationType": {
            "type": "string",
            "description": "Meeting Location Type",
            "example": "custom",
            "default": "default"
          },
          "appointmentStatus": {
            "type": "string",
            "example": "confirmed",
            "enum": [
              "new",
              "confirmed",
              "cancelled",
              "showed",
              "noshow",
              "invalid",
              "active",
              "completed"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "address": {
            "type": "string",
            "description": "Appointment Address",
            "example": "Zoom"
          },
          "isRecurring": {
            "type": "boolean",
            "description": "true if the event is recurring otherwise false",
            "example": "true"
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "dateAdded": {
            "type": "string",
            "description": "Date Added",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date Updated",
            "example": "2021-06-23T04:30:00+05:30"
          },
          "id": {
            "type": "string",
            "description": "Id",
            "example": "0TkCdp9PfvLeWKYRRvIz"
          }
        },
        "required": [
          "calendarId",
          "locationId",
          "contactId",
          "id",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "calendars_v3_AppointmentEditSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "meetingLocationType": {
            "type": "string",
            "description": "Meeting location type. \n- If `address` is provided in the request body, the `meetingLocationType` defaults to **custom**.",
            "example": "custom",
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "ms_teams",
              "google"
            ]
          },
          "meetingLocationId": {
            "type": "string",
            "description": "The unique identifier for the meeting location.\n- This value can be found in `calendar.locationConfigurations`or `calendar.teamMembers[].locationConfigurations`",
            "example": "custom_0",
            "default": "default"
          },
          "overrideLocationConfig": {
            "type": "boolean",
            "description": "Flag to override location config\n- **false** - If only `meetingLocationId` is provided\n- **true** - If only `meetingLocationType` is provided\n",
            "example": true
          },
          "appointmentStatus": {
            "type": "string",
            "example": "confirmed",
            "enum": [
              "new",
              "confirmed",
              "cancelled",
              "showed",
              "noshow",
              "invalid",
              "completed",
              "active"
            ]
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "description": {
            "type": "string",
            "description": "Appointment Description",
            "example": "Booking a call to discuss the project"
          },
          "address": {
            "type": "string",
            "description": "Appointment Address",
            "example": "Zoom"
          },
          "ignoreDateRange": {
            "type": "boolean",
            "description": "If set to true, the minimum scheduling notice and date range would be ignored",
            "example": false
          },
          "toNotify": {
            "type": "boolean",
            "description": "If set to false, the automations will not run. Defaults to true",
            "example": false,
            "default": true
          },
          "ignoreFreeSlotValidation": {
            "type": "boolean",
            "description": "If true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)",
            "example": true
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar Id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        }
      },
      "calendars_v3_CreatedOrUpdatedBy": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "The ID of the user who created or updated the appointment"
          },
          "source": {
            "type": "string",
            "description": "The source of the appointment"
          }
        },
        "required": [
          "source"
        ]
      },
      "calendars_v3_CalendarEventDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Event Id or Instance id for a recurring event",
            "examples": [
              "ocQHyuzHvysMo5N5VsXc",
              "ocQHyuzHvysMo5N5VsXc_1729821600000_1800"
            ]
          },
          "address": {
            "type": "string",
            "description": "Calendar Event address",
            "example": "https://meet.google.com/yqp-gogr-wve"
          },
          "title": {
            "type": "string",
            "description": "Calendar Event title",
            "example": "Appointment with CRM Dev team"
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar ID",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "0007BWpSzSwfiuSl0tR2"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "groupId": {
            "type": "string",
            "description": "Group ID",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "appointmentStatus": {
            "type": "string",
            "description": "Appointment Status",
            "example": "confirmed"
          },
          "assignedUserId": {
            "type": "string",
            "description": "AssignedUser - the primary owner of an appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "users": {
            "description": "Users - the secondary owners of an appointment.",
            "example": [
              "YlWd2wuCAZQzh2cH1fVZ",
              "9NkT25Vor1v4aQatFsv2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "string",
            "description": "Notes",
            "example": "Some dummy note"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Some dummy description"
          },
          "isRecurring": {
            "type": "boolean",
            "description": "true if the event is recurring otherwise false",
            "example": "true"
          },
          "rrule": {
            "type": "string",
            "description": "RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event.",
            "examples": [
              "RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5",
              "RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20210623T043000Z\nEXDATE:20211105T040000Z,20211105T040000Z"
            ]
          },
          "deleted": {
            "type": "boolean",
            "description": "Tells if a calendar event has been deleted",
            "example": false
          },
          "startTime": {
            "type": "object",
            "description": "Start Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "endTime": {
            "type": "object",
            "description": "End Time",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "dateAdded": {
            "type": "object",
            "description": "Date Added",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "dateUpdated": {
            "type": "object",
            "description": "Date Updated",
            "example": "2023-09-25T16:00:00+05:30"
          },
          "assignedResources": {
            "description": "Ids of associated resources rooms and/or equipments",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdBy": {
            "description": "Appointment booked by metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_CreatedOrUpdatedBy"
              }
            ]
          },
          "masterEventId": {
            "type": "string",
            "description": "Master event id for a recurring instance",
            "example": "ocWd2wuBGAQzh2cH1fSZ"
          }
        },
        "required": [
          "id",
          "title",
          "calendarId",
          "locationId",
          "contactId",
          "groupId",
          "appointmentStatus",
          "assignedUserId",
          "users",
          "startTime",
          "endTime",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "calendars_v3_GetCalendarEventsSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CalendarEventDTO"
            }
          }
        }
      },
      "calendars_v3_BlockSlotCreateRequestDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "calendarId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "assignedUserId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        },
        "required": [
          "calendarId",
          "locationId"
        ]
      },
      "calendars_v3_BlockedSlotSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "0TkCdp9PfvLeWKYRRvIz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "My event"
          },
          "startTime": {
            "type": "object",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "object",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar id",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "assignedUserId": {
            "type": "string",
            "description": "Assigned User Id",
            "example": "0007BWpSzSwfiuSl0tR2"
          }
        },
        "required": [
          "id",
          "locationId",
          "title",
          "startTime",
          "endTime"
        ]
      },
      "calendars_v3_BlockSlotEditRequestDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Test Event"
          },
          "calendarId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "assignedUserId": {
            "type": "string",
            "description": "Either calendarId or assignedUserId can be set, not both.",
            "example": "CVokAlI8fgw4WYWoCtQz"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "startTime": {
            "type": "string",
            "description": "Start Time",
            "example": "2021-06-23T03:30:00+05:30"
          },
          "endTime": {
            "type": "string",
            "description": "End Time",
            "example": "2021-06-23T04:30:00+05:30"
          }
        },
        "required": [
          "calendarId",
          "locationId"
        ]
      },
      "calendars_v3_SlotsSchema": {
        "type": "object",
        "properties": {
          "slots": {
            "example": [
              "2024-10-28T10:00:00-05:00",
              "2024-10-28T11:00:00-05:00"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "slots"
        ]
      },
      "calendars_v3_CalendarNotification": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Calendar Notification",
            "example": "email",
            "enum": [
              "email"
            ],
            "default": "email"
          },
          "shouldSendToContact": {
            "type": "boolean"
          },
          "shouldSendToGuest": {
            "type": "boolean"
          },
          "shouldSendToUser": {
            "type": "boolean"
          },
          "shouldSendToSelectedUsers": {
            "type": "boolean"
          },
          "selectedUsers": {
            "type": "string",
            "description": "Comma separated emails",
            "example": "user1@testemail.com,user2@testemail.com"
          }
        },
        "required": [
          "shouldSendToContact",
          "shouldSendToGuest",
          "shouldSendToUser",
          "shouldSendToSelectedUsers",
          "selectedUsers"
        ]
      },
      "calendars_v3_LocationConfiguration": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type",
            "example": "custom",
            "enum": [
              "custom",
              "zoom_conference",
              "google_conference",
              "inbound_call",
              "outbound_call",
              "physical",
              "booker",
              "ms_teams_conference"
            ]
          },
          "location": {
            "type": "string",
            "description": "Address for meeting location. Not applicable on \"zoom_conference\", \"google_conference\" and \"ms_teams_conference\" kind",
            "examples": [
              "+14455550132",
              "http://meet.google.com/your-meeting-location"
            ]
          }
        },
        "required": [
          "kind"
        ]
      },
      "calendars_v3_TeamMember": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "priority": {
            "type": "number",
            "default": 0.5,
            "enum": [
              0,
              0.5,
              1
            ]
          },
          "meetingLocationType": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.kind` instead.",
            "deprecated": true,
            "example": "custom",
            "default": "custom",
            "readOnly": true,
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "teams",
              "booker"
            ]
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Marks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary."
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar.\n- *Multiple locations are allowed only when one team member is selected.*\n- *For **Class booking** and **Collective** calendars, only one location configuration is allowed for each team member.*",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_LocationConfiguration"
            }
          }
        },
        "required": [
          "userId"
        ]
      },
      "calendars_v3_Hour": {
        "type": "object",
        "properties": {
          "openHour": {
            "type": "number",
            "minimum": 0,
            "maximum": 23
          },
          "openMinute": {
            "type": "number",
            "minimum": 0,
            "maximum": 60
          },
          "closeHour": {
            "type": "number",
            "minimum": 0,
            "maximum": 23
          },
          "closeMinute": {
            "type": "number",
            "minimum": 0,
            "maximum": 60
          }
        },
        "required": [
          "openHour",
          "openMinute",
          "closeHour",
          "closeMinute"
        ]
      },
      "calendars_v3_OpenHour": {
        "type": "object",
        "properties": {
          "daysOfTheWeek": {
            "type": "array",
            "items": {
              "type": "number",
              "maximum": 6,
              "minimum": 0
            }
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_Hour"
            }
          }
        },
        "required": [
          "daysOfTheWeek",
          "hours"
        ]
      },
      "calendars_v3_Recurring": {
        "type": "object",
        "properties": {
          "freq": {
            "type": "string",
            "enum": [
              "DAILY",
              "WEEKLY",
              "MONTHLY"
            ]
          },
          "count": {
            "type": "number",
            "description": "Number of recurrences",
            "maximum": 24
          },
          "bookingOption": {
            "type": "string",
            "description": "This setting contols what to do incase a recurring slot is unavailable",
            "enum": [
              "skip",
              "continue",
              "book_next"
            ]
          },
          "bookingOverlapDefaultStatus": {
            "type": "string",
            "description": "This setting contols what to do incase a recurring slot is unavailable",
            "enum": [
              "confirmed",
              "new"
            ]
          }
        }
      },
      "calendars_v3_Availability": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Formulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.",
            "example": "2023-09-24T00:00:00.000Z"
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_Hour"
            }
          },
          "deleted": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "date",
          "hours"
        ]
      },
      "calendars_v3_LookBusyConfiguration": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Apply Look Busy",
            "example": true,
            "default": false
          },
          "LookBusyPercentage": {
            "type": "number",
            "description": "Percentage of slots that will be hidden"
          }
        },
        "required": [
          "enabled",
          "LookBusyPercentage"
        ]
      },
      "calendars_v3_CalendarCreateDTO": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Should the created calendar be active or draft",
            "default": true
          },
          "notifications": {
            "description": "🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CalendarNotification"
            }
          },
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "groupId": {
            "type": "string",
            "description": "Group Id",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "teamMembers": {
            "description": "Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_TeamMember"
            }
          },
          "eventType": {
            "type": "string",
            "enum": [
              "RoundRobin_OptimizeForAvailability",
              "RoundRobin_OptimizeForEqualDistribution"
            ],
            "default": "RoundRobin_OptimizeForAvailability"
          },
          "name": {
            "type": "string",
            "example": "test calendar"
          },
          "description": {
            "type": "string",
            "example": "this is used for testing"
          },
          "slug": {
            "type": "string",
            "example": "test1"
          },
          "widgetSlug": {
            "type": "string",
            "example": "test1"
          },
          "calendarType": {
            "type": "string",
            "enum": [
              "round_robin",
              "event",
              "class_booking",
              "collective",
              "service_booking",
              "personal"
            ]
          },
          "widgetType": {
            "type": "string",
            "description": "Calendar widget type. Choose \"default\" for \"neo\" and \"classic\" for \"classic\" layout.",
            "example": "classic",
            "enum": [
              "default",
              "classic"
            ],
            "default": "classic"
          },
          "eventTitle": {
            "type": "string",
            "default": "{{contact.name}}"
          },
          "eventColor": {
            "type": "string",
            "default": "#039be5"
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_LocationConfiguration"
            }
          },
          "slotDuration": {
            "type": "number",
            "description": "This controls the duration of the meeting",
            "default": 30
          },
          "slotDurationUnit": {
            "type": "string",
            "description": "Unit for slot duration.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotInterval": {
            "type": "number",
            "description": "Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.",
            "default": 30
          },
          "slotIntervalUnit": {
            "type": "string",
            "description": "Unit for slot interval.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotBuffer": {
            "type": "number",
            "description": "Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up"
          },
          "slotBufferUnit": {
            "type": "string",
            "description": "Unit for slot buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready"
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Unit for pre-buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "appoinmentPerSlot": {
            "type": "number",
            "default": 1,
            "description": "Maximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar."
          },
          "appoinmentPerDay": {
            "type": "number",
            "description": "Number of appointments that can be booked for a given day"
          },
          "allowBookingAfter": {
            "type": "number",
            "description": "Minimum scheduling notice for events"
          },
          "allowBookingAfterUnit": {
            "type": "string",
            "description": "Unit for minimum scheduling notice",
            "enum": [
              "hours",
              "days",
              "weeks",
              "months",
              "mins"
            ],
            "example": "days"
          },
          "allowBookingFor": {
            "type": "number",
            "description": "Minimum number of days/weeks/months for which to allow booking events"
          },
          "allowBookingForUnit": {
            "type": "string",
            "description": "Unit for controlling the duration for which booking would be allowed for",
            "enum": [
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "openHours": {
            "description": "While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_OpenHour"
            }
          },
          "enableRecurring": {
            "type": "boolean",
            "description": "Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this",
            "default": false
          },
          "recurring": {
            "$ref": "#/components/schemas/calendars_v3_Recurring"
          },
          "formId": {
            "type": "string"
          },
          "stickyContact": {
            "type": "boolean"
          },
          "isLivePaymentMode": {
            "type": "boolean"
          },
          "autoConfirm": {
            "type": "boolean",
            "default": true
          },
          "shouldSendAlertEmailsToAssignedMember": {
            "type": "boolean"
          },
          "alertEmail": {
            "type": "string"
          },
          "googleInvitationEmails": {
            "type": "boolean",
            "default": false
          },
          "allowReschedule": {
            "type": "boolean",
            "default": true
          },
          "allowCancellation": {
            "type": "boolean",
            "default": true
          },
          "shouldAssignContactToTeamMember": {
            "type": "boolean"
          },
          "shouldSkipAssigningContactForExisting": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "pixelId": {
            "type": "string"
          },
          "formSubmitType": {
            "type": "string",
            "default": "ThankYouMessage",
            "enum": [
              "RedirectURL",
              "ThankYouMessage"
            ]
          },
          "formSubmitRedirectURL": {
            "type": "string"
          },
          "formSubmitThanksMessage": {
            "type": "string"
          },
          "availabilityType": {
            "type": "number",
            "enum": [
              0,
              1
            ],
            "description": "While we will support this property for backward compatibility, it is not required anymore.",
            "deprecated": true
          },
          "availabilities": {
            "description": "While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_Availability"
            }
          },
          "guestType": {
            "type": "string",
            "enum": [
              "count_only",
              "collect_detail"
            ]
          },
          "consentLabel": {
            "type": "string"
          },
          "calendarCoverImage": {
            "type": "string",
            "example": "https://path-to-image.com"
          },
          "lookBusyConfig": {
            "description": "Look Busy Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_LookBusyConfiguration"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "name"
        ]
      },
      "calendars_v3_LocationConfigurationResponse": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type",
            "example": "custom",
            "enum": [
              "custom",
              "zoom_conference",
              "google_conference",
              "inbound_call",
              "outbound_call",
              "physical",
              "booker",
              "ms_teams_conference"
            ]
          },
          "location": {
            "type": "string",
            "description": "Address for meeting location. Not applicable on \"zoom_conference\", \"google_conference\" and \"ms_teams_conference\" kind",
            "examples": [
              "+14455550132",
              "http://meet.google.com/your-meeting-location"
            ]
          },
          "meetingId": {
            "type": "string",
            "description": "Unique ID used to select a specific meeting location",
            "example": "my_conference_id"
          }
        },
        "required": [
          "kind"
        ]
      },
      "calendars_v3_TeamMemberResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "priority": {
            "type": "number",
            "default": 0.5,
            "enum": [
              0,
              0.5,
              1
            ]
          },
          "meetingLocationType": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.kind` instead.",
            "deprecated": true,
            "example": "custom",
            "default": "custom",
            "readOnly": true,
            "enum": [
              "custom",
              "zoom",
              "gmeet",
              "phone",
              "address",
              "teams",
              "booker"
            ]
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Marks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary."
          },
          "locationConfigurations": {
            "description": "Meeting location configurations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_LocationConfigurationResponse"
            }
          }
        },
        "required": [
          "userId"
        ]
      },
      "calendars_v3_CalendarDTO": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean",
            "description": "Should the created calendar be active or draft",
            "default": true
          },
          "notifications": {
            "description": "🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CalendarNotification"
            }
          },
          "locationId": {
            "type": "string",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "groupId": {
            "type": "string",
            "description": "Group Id",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "teamMembers": {
            "description": "Team members are for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_TeamMemberResponse"
            }
          },
          "eventType": {
            "type": "string",
            "enum": [
              "RoundRobin_OptimizeForAvailability",
              "RoundRobin_OptimizeForEqualDistribution"
            ],
            "default": "RoundRobin_OptimizeForAvailability"
          },
          "name": {
            "type": "string",
            "example": "test calendar"
          },
          "description": {
            "type": "string",
            "example": "this is used for testing"
          },
          "slug": {
            "type": "string",
            "example": "test1"
          },
          "widgetSlug": {
            "type": "string",
            "example": "test1"
          },
          "calendarType": {
            "type": "string",
            "enum": [
              "round_robin",
              "event",
              "class_booking",
              "collective",
              "service_booking",
              "personal"
            ]
          },
          "widgetType": {
            "type": "string",
            "description": "Calendar widget type. Choose \"default\" for \"neo\" and \"classic\" for \"classic\" layout.",
            "example": "classic",
            "enum": [
              "default",
              "classic"
            ],
            "default": "classic"
          },
          "eventTitle": {
            "type": "string",
            "default": "{{contact.name}}"
          },
          "eventColor": {
            "type": "string",
            "default": "#039be5"
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_LocationConfigurationResponse"
            }
          },
          "slotDuration": {
            "type": "number",
            "description": "This controls the duration of the meeting",
            "default": 30
          },
          "slotDurationUnit": {
            "type": "string",
            "description": "Unit for slot duration.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotInterval": {
            "type": "number",
            "description": "Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.",
            "default": 30
          },
          "slotIntervalUnit": {
            "type": "string",
            "description": "Unit for slot interval.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotBuffer": {
            "type": "number",
            "description": "Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up"
          },
          "slotBufferUnit": {
            "type": "string",
            "description": "Unit for slot buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready"
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Unit for pre-buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "appoinmentPerSlot": {
            "type": "number",
            "default": 1,
            "description": "Maximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar."
          },
          "appoinmentPerDay": {
            "type": "number",
            "description": "Number of appointments that can be booked for a given day"
          },
          "allowBookingAfter": {
            "type": "number",
            "description": "Minimum scheduling notice for events"
          },
          "allowBookingAfterUnit": {
            "type": "string",
            "description": "Unit for minimum scheduling notice",
            "enum": [
              "hours",
              "days",
              "weeks",
              "months",
              "mins"
            ],
            "example": "days"
          },
          "allowBookingFor": {
            "type": "number",
            "description": "Minimum number of days/weeks/months for which to allow booking events"
          },
          "allowBookingForUnit": {
            "type": "string",
            "description": "Unit for controlling the duration for which booking would be allowed for",
            "enum": [
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "openHours": {
            "description": "While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_OpenHour"
            }
          },
          "enableRecurring": {
            "type": "boolean",
            "description": "Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this",
            "default": false
          },
          "recurring": {
            "$ref": "#/components/schemas/calendars_v3_Recurring"
          },
          "formId": {
            "type": "string"
          },
          "stickyContact": {
            "type": "boolean"
          },
          "isLivePaymentMode": {
            "type": "boolean"
          },
          "autoConfirm": {
            "type": "boolean",
            "default": true
          },
          "shouldSendAlertEmailsToAssignedMember": {
            "type": "boolean"
          },
          "alertEmail": {
            "type": "string"
          },
          "googleInvitationEmails": {
            "type": "boolean",
            "default": false
          },
          "allowReschedule": {
            "type": "boolean",
            "default": true
          },
          "allowCancellation": {
            "type": "boolean",
            "default": true
          },
          "shouldAssignContactToTeamMember": {
            "type": "boolean"
          },
          "shouldSkipAssigningContactForExisting": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "pixelId": {
            "type": "string"
          },
          "formSubmitType": {
            "type": "string",
            "default": "ThankYouMessage",
            "enum": [
              "RedirectURL",
              "ThankYouMessage"
            ]
          },
          "formSubmitRedirectURL": {
            "type": "string"
          },
          "formSubmitThanksMessage": {
            "type": "string"
          },
          "availabilityType": {
            "type": "number",
            "enum": [
              0,
              1
            ],
            "description": "While we will support this property for backward compatibility, it is not required anymore.",
            "deprecated": true
          },
          "availabilities": {
            "description": "While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_Availability"
            }
          },
          "guestType": {
            "type": "string",
            "enum": [
              "count_only",
              "collect_detail"
            ]
          },
          "consentLabel": {
            "type": "string"
          },
          "calendarCoverImage": {
            "type": "string",
            "example": "https://path-to-image.com"
          },
          "lookBusyConfig": {
            "description": "Look Busy Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_LookBusyConfiguration"
              }
            ]
          },
          "id": {
            "type": "string",
            "example": "0TkCdp9PfvLeWKYRRvIz"
          }
        },
        "required": [
          "locationId",
          "name",
          "id"
        ]
      },
      "calendars_v3_CalendarsGetSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "calendars": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CalendarDTO"
            }
          }
        }
      },
      "calendars_v3_CalendarByIdSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "calendar": {
            "$ref": "#/components/schemas/calendars_v3_CalendarDTO"
          }
        },
        "required": [
          "calendar"
        ]
      },
      "calendars_v3_UpdateAvailability": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Formulate the date string in the format of `<YYYY-MM-DD in local timezone>T00:00:00.000Z`.",
            "example": "2023-09-24T00:00:00.000Z"
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_Hour"
            }
          },
          "deleted": {
            "type": "boolean",
            "default": false
          },
          "id": {
            "type": "string",
            "description": "The ID of the custom availability object. It is required while updating or deleting the existing custom date availability"
          }
        },
        "required": [
          "date",
          "hours"
        ]
      },
      "calendars_v3_CalendarUpdateDTO": {
        "type": "object",
        "properties": {
          "notifications": {
            "description": "🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_CalendarNotification"
            }
          },
          "groupId": {
            "type": "string",
            "description": "Group Id",
            "example": "BqTwX8QFwXzpegMve9EQ"
          },
          "teamMembers": {
            "description": "Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_TeamMember"
            }
          },
          "eventType": {
            "type": "string",
            "enum": [
              "RoundRobin_OptimizeForAvailability",
              "RoundRobin_OptimizeForEqualDistribution"
            ]
          },
          "name": {
            "type": "string",
            "example": "test calendar"
          },
          "description": {
            "type": "string",
            "example": "this is used for testing"
          },
          "slug": {
            "type": "string",
            "example": "test1"
          },
          "widgetSlug": {
            "type": "string",
            "example": "test1"
          },
          "widgetType": {
            "type": "string",
            "description": "Calendar widget type. Choose \"default\" for \"neo\" and \"classic\" for \"classic\" layout.",
            "example": "classic",
            "enum": [
              "default",
              "classic"
            ],
            "default": "classic"
          },
          "eventTitle": {
            "type": "string"
          },
          "eventColor": {
            "type": "string",
            "default": "#039be5"
          },
          "locationConfigurations": {
            "description": "Meeting location configuration for event calendar",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_LocationConfiguration"
            }
          },
          "meetingLocation": {
            "type": "string",
            "description": "🚨 Deprecated! Use `locationConfigurations.location` or `teamMembers[].locationConfigurations.location` instead.",
            "deprecated": true,
            "readOnly": true
          },
          "slotDuration": {
            "type": "number",
            "description": "This controls the duration of the meeting",
            "default": 30
          },
          "slotDurationUnit": {
            "type": "string",
            "description": "Unit for slot duration.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "preBufferUnit": {
            "type": "string",
            "description": "Unit for pre-buffer.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotInterval": {
            "type": "number",
            "description": "Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.",
            "default": 30
          },
          "slotIntervalUnit": {
            "type": "string",
            "description": "Unit for slot interval.",
            "enum": [
              "mins",
              "hours"
            ]
          },
          "slotBuffer": {
            "type": "number",
            "description": "Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up"
          },
          "preBuffer": {
            "type": "number",
            "description": "Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready"
          },
          "appoinmentPerSlot": {
            "type": "number"
          },
          "appoinmentPerDay": {
            "type": "number",
            "description": "Number of appointments that can be booked for a given day"
          },
          "allowBookingAfter": {
            "type": "number",
            "description": "Minimum scheduling notice for events"
          },
          "allowBookingAfterUnit": {
            "type": "string",
            "description": "Unit for minimum scheduling notice",
            "enum": [
              "hours",
              "days",
              "weeks",
              "months",
              "mins"
            ],
            "example": "days"
          },
          "allowBookingFor": {
            "type": "number",
            "description": "Minimum number of days/weeks/months for which to allow booking events"
          },
          "allowBookingForUnit": {
            "type": "string",
            "description": "Unit for controlling the duration for which booking would be allowed for",
            "enum": [
              "days",
              "weeks",
              "months"
            ],
            "example": "days"
          },
          "openHours": {
            "description": "While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_OpenHour"
            }
          },
          "enableRecurring": {
            "type": "boolean",
            "description": "Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this",
            "default": false
          },
          "recurring": {
            "$ref": "#/components/schemas/calendars_v3_Recurring"
          },
          "formId": {
            "type": "string"
          },
          "stickyContact": {
            "type": "boolean"
          },
          "isLivePaymentMode": {
            "type": "boolean"
          },
          "autoConfirm": {
            "type": "boolean"
          },
          "shouldSendAlertEmailsToAssignedMember": {
            "type": "boolean"
          },
          "alertEmail": {
            "type": "string"
          },
          "googleInvitationEmails": {
            "type": "boolean"
          },
          "allowReschedule": {
            "type": "boolean"
          },
          "allowCancellation": {
            "type": "boolean"
          },
          "shouldAssignContactToTeamMember": {
            "type": "boolean"
          },
          "shouldSkipAssigningContactForExisting": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "pixelId": {
            "type": "string"
          },
          "formSubmitType": {
            "type": "string",
            "default": "ThankYouMessage",
            "enum": [
              "RedirectURL",
              "ThankYouMessage"
            ]
          },
          "formSubmitRedirectURL": {
            "type": "string"
          },
          "formSubmitThanksMessage": {
            "type": "string"
          },
          "availabilityType": {
            "type": "number",
            "description": "While we will support this property for backward compatibility, it is not required anymore.",
            "deprecated": true,
            "enum": [
              0,
              1
            ]
          },
          "availabilities": {
            "description": "While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.",
            "deprecated": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_UpdateAvailability"
            }
          },
          "guestType": {
            "type": "string",
            "enum": [
              "count_only",
              "collect_detail"
            ]
          },
          "consentLabel": {
            "type": "string"
          },
          "calendarCoverImage": {
            "type": "string"
          },
          "lookBusyConfig": {
            "description": "Look Busy Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_LookBusyConfiguration"
              }
            ]
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "calendars_v3_CalendarDeleteSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "calendars_v3_GetCalendarEventSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "event": {
            "$ref": "#/components/schemas/calendars_v3_CalendarEventDTO"
          }
        }
      },
      "calendars_v3_DeleteAppointmentSchema": {
        "type": "object",
        "properties": {}
      },
      "calendars_v3_DeleteEventSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "calendars_v3_NoteCreatedBySchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "TUcmRxWr"
          },
          "name": {
            "type": "string",
            "example": "John Doe"
          }
        }
      },
      "calendars_v3_GetNoteSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "HGPcayliwcdoUFzvbTok"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum"
          },
          "userId": {
            "type": "string",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "dateAdded": {
            "type": "string",
            "example": "2021-07-08T12:02:11.285Z"
          },
          "contactId": {
            "type": "string",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "createdBy": {
            "$ref": "#/components/schemas/calendars_v3_NoteCreatedBySchema"
          }
        }
      },
      "calendars_v3_GetNotesListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_GetNoteSchema"
            }
          },
          "hasMore": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "calendars_v3_NotesDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "example": "GCs5KuzPqTls7vWclkEV"
          },
          "body": {
            "type": "string",
            "example": "lorem ipsum",
            "description": "Note body",
            "maxLength": 5000
          }
        },
        "required": [
          "body"
        ]
      },
      "calendars_v3_GetCreateUpdateNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "note": {
            "$ref": "#/components/schemas/calendars_v3_GetNoteSchema"
          }
        }
      },
      "calendars_v3_DeleteNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "calendars_v3_CalendarResourceByIdResponseDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID of the resource"
          },
          "name": {
            "type": "string",
            "description": "Name of the resource",
            "example": "yoga room"
          },
          "resourceType": {
            "type": "string",
            "enum": [
              "equipments",
              "rooms"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the resource is active"
          },
          "description": {
            "type": "string",
            "description": "Description of the resource"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the resource"
          },
          "outOfService": {
            "type": "number",
            "description": "Indicates if the resource is out of service",
            "example": 0
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the resource",
            "example": 85
          },
          "calendarIds": {
            "description": "Calendar IDs",
            "example": [
              "Jsj0xnlDDjw0SuvX1J13",
              "oCM5feFC86FAAbcO7lJK"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "resourceType",
          "isActive",
          "calendarIds"
        ]
      },
      "calendars_v3_UpdateCalendarResourceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the equipment."
          },
          "outOfService": {
            "type": "number",
            "description": "Quantity of the out of service equipment."
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the room."
          },
          "calendarIds": {
            "description": "Service calendar IDs to be mapped with the resource.\n\n    One equipment can only be mapped with one service calendar.\n    \nOne room can be mapped with multiple service calendars.",
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "calendars_v3_CalendarResourceResponseDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID of the resource"
          },
          "name": {
            "type": "string",
            "description": "Name of the resource",
            "example": "yoga room"
          },
          "resourceType": {
            "type": "string",
            "enum": [
              "equipments",
              "rooms"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the resource is active"
          },
          "description": {
            "type": "string",
            "description": "Description of the resource"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the resource"
          },
          "outOfService": {
            "type": "number",
            "description": "Indicates if the resource is out of service",
            "example": 0
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the resource",
            "example": 85
          }
        },
        "required": [
          "locationId",
          "name",
          "resourceType",
          "isActive"
        ]
      },
      "calendars_v3_ResourceDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success",
            "example": "true"
          }
        }
      },
      "calendars_v3_CreateCalendarResourceDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity of the equipment."
          },
          "outOfService": {
            "type": "number",
            "description": "Quantity of the out of service equipment."
          },
          "capacity": {
            "type": "number",
            "description": "Capacity of the room."
          },
          "calendarIds": {
            "description": "Service calendar IDs to be mapped with the resource.\n\n    One equipment can only be mapped with one service calendar.\n    \nOne room can be mapped with multiple service calendars.",
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "name",
          "description",
          "quantity",
          "outOfService",
          "capacity",
          "calendarIds"
        ]
      },
      "calendars_v3_SchedulesDTO": {
        "type": "object",
        "properties": {
          "timeOffset": {
            "type": "number"
          },
          "unit": {
            "type": "string"
          }
        }
      },
      "calendars_v3_CalendarNotificationResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Notification ID"
          },
          "receiverType": {
            "type": "string",
            "example": "contact",
            "enum": [
              "contact",
              "guest",
              "assignedUser",
              "emails",
              "phoneNumbers",
              "business"
            ]
          },
          "additionalEmailIds": {
            "example": [
              "example1@email.com",
              "example2@email.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalPhoneNumbers": {
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "type": "string",
            "example": "email",
            "enum": [
              "email",
              "inApp",
              "sms",
              "whatsapp"
            ]
          },
          "notificationType": {
            "type": "string",
            "example": "confirmation",
            "enum": [
              "booked",
              "confirmation",
              "cancellation",
              "reminder",
              "followup",
              "reschedule"
            ]
          },
          "isActive": {
            "type": "boolean",
            "example": true
          },
          "additionalWhatsappNumbers": {
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "templateId": {
            "type": "string",
            "example": "0as9d8as0d"
          },
          "body": {
            "type": "string",
            "example": "This is a test notification"
          },
          "subject": {
            "type": "string",
            "example": "Test Notification"
          },
          "afterTime": {
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_SchedulesDTO"
            }
          },
          "beforeTime": {
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_SchedulesDTO"
            }
          },
          "selectedUsers": {
            "example": [
              "user1",
              "user2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "calendars_v3_CreateCalendarNotificationDTO": {
        "type": "object",
        "properties": {
          "receiverType": {
            "type": "string",
            "description": "notification recipient type",
            "enum": [
              "contact",
              "guest",
              "assignedUser",
              "emails",
              "phoneNumbers",
              "business"
            ]
          },
          "channel": {
            "type": "string",
            "description": "Notification channel",
            "enum": [
              "email",
              "inApp",
              "sms",
              "whatsapp"
            ]
          },
          "notificationType": {
            "type": "string",
            "description": "Notification type",
            "enum": [
              "booked",
              "confirmation",
              "cancellation",
              "reminder",
              "followup",
              "reschedule"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Is the notification active",
            "default": true
          },
          "templateId": {
            "type": "string",
            "description": "Template ID for email notification. Not necessary for in-App notification"
          },
          "body": {
            "type": "string",
            "description": "Body  for email notification. Not necessary for in-App notification"
          },
          "subject": {
            "type": "string",
            "description": "Subject  for email notification. Not necessary for in-App notification"
          },
          "afterTime": {
            "description": "Specifies the time after which the follow-up notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_SchedulesDTO"
            }
          },
          "beforeTime": {
            "description": "Specifies the time before which the reminder notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_SchedulesDTO"
            }
          },
          "additionalEmailIds": {
            "description": "Additional email addresses to receive notifications.",
            "example": [
              "example1@email.com",
              "example2@email.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalPhoneNumbers": {
            "description": "Additional phone numbers to receive notifications.",
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedUsers": {
            "description": "Selected users for in-App and business email notifications. Supports user IDs and special keyword \"sub_account_admin\"",
            "example": [
              "userId1",
              "userId2",
              "sub_account_admin"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fromAddress": {
            "type": "string",
            "description": "from address for email notification"
          },
          "fromName": {
            "type": "string",
            "description": "from name for email/sms notification"
          },
          "fromNumber": {
            "type": "string",
            "description": "from number for sms notification"
          }
        },
        "required": [
          "receiverType",
          "channel",
          "notificationType"
        ]
      },
      "calendars_v3_UpdateCalendarNotificationsDTO": {
        "type": "object",
        "properties": {
          "receiverType": {
            "type": "string",
            "description": "Notification recipient type",
            "enum": [
              "contact",
              "guest",
              "assignedUser",
              "emails",
              "phoneNumbers",
              "business"
            ]
          },
          "additionalEmailIds": {
            "description": "Additional email addresses to receive notifications.",
            "example": [
              "example1@email.com",
              "example2@email.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalPhoneNumbers": {
            "description": "Additional phone numbers to receive notifications.",
            "example": [
              "+919876744444",
              "+919876744445"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedUsers": {
            "description": "Selected users for in-App and business email notifications. Supports user IDs and special keyword \"sub_account_admin\"",
            "example": [
              "userId1",
              "userId2",
              "sub_account_admin"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "type": "string",
            "description": "Notification channel",
            "enum": [
              "email",
              "inApp",
              "sms",
              "whatsapp"
            ]
          },
          "notificationType": {
            "type": "string",
            "description": "Notification type",
            "enum": [
              "booked",
              "confirmation",
              "cancellation",
              "reminder",
              "followup",
              "reschedule"
            ]
          },
          "isActive": {
            "type": "boolean",
            "description": "Is the notification active",
            "default": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Marks the notification as deleted (soft delete)",
            "default": false
          },
          "templateId": {
            "type": "string",
            "description": "Template ID for email notification"
          },
          "body": {
            "type": "string",
            "description": "Body  for email notification. Not necessary for in-App notification"
          },
          "subject": {
            "type": "string",
            "description": "Subject  for email notification. Not necessary for in-App notification"
          },
          "afterTime": {
            "description": "Specifies the time after which the follow-up notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_SchedulesDTO"
            }
          },
          "beforeTime": {
            "description": "Specifies the time before which the reminder notification should be sent. This is not required for other notification types.",
            "example": [
              {
                "timeOffset": 1,
                "unit": "hours"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_SchedulesDTO"
            }
          },
          "fromAddress": {
            "type": "string",
            "description": "From address for email notification"
          },
          "fromNumber": {
            "type": "string",
            "description": "from number for sms notification"
          },
          "fromName": {
            "type": "string",
            "description": "From name for email/sms notification"
          }
        }
      },
      "calendars_v3_CalendarNotificationDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Result of delete/update operation"
          }
        },
        "required": [
          "message"
        ]
      },
      "calendars_v3_ScheduleIntervalDTO": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "Start time in HH:MM format (24-hour format)",
            "example": "09:00",
            "pattern": "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"
          },
          "to": {
            "type": "string",
            "description": "End time in HH:MM format (24-hour format)",
            "example": "17:00",
            "pattern": "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"
          }
        },
        "required": [
          "from",
          "to"
        ]
      },
      "calendars_v3_ScheduleRuleDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "wday",
              "date"
            ],
            "description": "Type of schedule rule - weekday (recurring) or date (specific date)",
            "example": "wday"
          },
          "intervals": {
            "description": "Time intervals for the rule (e.g., 9 AM to 5 PM)",
            "example": [
              {
                "from": "09:00",
                "to": "17:00"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleIntervalDTO"
            }
          },
          "date": {
            "type": "string",
            "description": "Specific date in YYYY-MM-DD format (only for date-type rules)",
            "example": "2023-04-15",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "day": {
            "type": "string",
            "enum": [
              "sunday",
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday"
            ],
            "description": "Day of week (only for weekday-type rules)",
            "example": "monday"
          }
        },
        "required": [
          "type",
          "intervals"
        ]
      },
      "calendars_v3_ScheduleObjectResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the schedule",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the schedule",
            "example": "Business Hours Schedule"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID where this schedule applies",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "rules": {
            "description": "Schedule rules defining when the schedule is active",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the schedule (IANA timezone identifier)",
            "example": "America/New_York"
          },
          "dateAdded": {
            "type": "string",
            "description": "ISO date string when the schedule was created",
            "example": "2023-01-15T10:30:00.000Z"
          },
          "dateUpdated": {
            "type": "string",
            "description": "ISO date string when the schedule was last updated",
            "example": "2023-01-20T14:45:00.000Z"
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the schedule",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "calendarIds": {
            "description": "Calendar IDs associated with the schedule",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the schedule has been deleted",
            "example": false
          }
        },
        "required": [
          "id",
          "name",
          "locationId",
          "rules",
          "timezone",
          "dateAdded",
          "dateUpdated",
          "userId",
          "deleted"
        ]
      },
      "calendars_v3_GetAllSchedulesResponseDTO": {
        "type": "object",
        "properties": {
          "schedules": {
            "description": "Array of schedules",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleObjectResponseDTO"
            }
          }
        },
        "required": [
          "schedules"
        ]
      },
      "calendars_v3_ScheduleResponseDTO": {
        "type": "object",
        "properties": {
          "schedule": {
            "description": "Schedule",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_ScheduleObjectResponseDTO"
              }
            ]
          }
        },
        "required": [
          "schedule"
        ]
      },
      "calendars_v3_CreateScheduleDTO": {
        "type": "object",
        "properties": {
          "rules": {
            "description": "Schedule rules defining when the schedule is active",
            "example": [
              {
                "type": "wday",
                "day": "monday",
                "intervals": [
                  {
                    "from": "09:00",
                    "to": "17:00"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the schedule (IANA timezone identifier)",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID where this schedule applies",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for the schedule",
            "example": "Business Hours Schedule"
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the schedule",
            "example": "IkqiJlXJ7o9h61tCHHod"
          },
          "calendarIds": {
            "description": "Calendar IDs associated with the schedule",
            "example": [
              "WvVX9LpvlBO6K506xLbp",
              "XyZ8MnQrStUvWxYzAbCdEf"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "timezone",
          "locationId",
          "name",
          "userId"
        ]
      },
      "calendars_v3_UpdateScheduleDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable name for the schedule",
            "example": "Updated Business Hours"
          },
          "rules": {
            "description": "Updated schedule rules defining when the schedule is active",
            "example": [
              {
                "type": "wday",
                "day": "monday",
                "intervals": [
                  {
                    "from": "08:00",
                    "to": "18:00"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Updated timezone for the schedule (IANA timezone identifier)",
            "example": "America/Los_Angeles",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          }
        }
      },
      "calendars_v3_CreateEventCalendarScheduleDTO": {
        "type": "object",
        "properties": {
          "rules": {
            "description": "Schedule rules defining when the schedule is active",
            "example": [
              {
                "type": "wday",
                "day": "monday",
                "intervals": [
                  {
                    "from": "09:00",
                    "to": "17:00"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Timezone for the schedule (IANA timezone identifier)",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          }
        },
        "required": [
          "rules",
          "timezone"
        ]
      },
      "calendars_v3_EventCalendarScheduleResponseDTO": {
        "type": "object",
        "properties": {
          "timezone": {
            "type": "string",
            "description": "Timezone for the schedule (IANA timezone identifier)",
            "example": "America/New_York"
          },
          "rules": {
            "description": "Schedule rules defining when the schedule is active",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleRuleDTO"
            }
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar ID associated with the schedule",
            "example": "WvVX9LpvlBO6K506xLbp"
          },
          "dateAdded": {
            "type": "string",
            "description": "Information about who created the schedule"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Information about who last updated the schedule"
          }
        },
        "required": [
          "timezone",
          "rules",
          "calendarId"
        ]
      },
      "calendars_v3_EventCalendarScheduleWrapperDTO": {
        "type": "object",
        "properties": {
          "schedule": {
            "description": "The event calendar schedule",
            "allOf": [
              {
                "$ref": "#/components/schemas/calendars_v3_EventCalendarScheduleResponseDTO"
              }
            ]
          }
        },
        "required": [
          "schedule"
        ]
      },
      "calendars_v3_UpdateEventCalendarScheduleDTO": {
        "type": "object",
        "properties": {
          "rules": {
            "description": "Updated schedule rules defining when the schedule is active",
            "example": [
              {
                "type": "wday",
                "day": "monday",
                "intervals": [
                  {
                    "from": "08:00",
                    "to": "18:00"
                  }
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/calendars_v3_ScheduleRuleDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Updated timezone for the schedule (IANA timezone identifier)",
            "example": "America/Los_Angeles",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          }
        }
      },
      "campaigns_v3_campaignsSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "mIVALPYuTD7YjUHnFEx4"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "status": {
            "type": "string",
            "example": "published"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "campaigns_v3_CampaignsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/campaigns_v3_campaignsSchema"
            }
          }
        }
      },
      "chat_widget_v3_AcknowledgementDetailsDTO": {
        "type": "object",
        "properties": {
          "icon": {
            "type": "string",
            "example": "check",
            "description": "Icon"
          },
          "placeholderColor": {
            "type": "string",
            "example": "#000",
            "description": "Placeholder color"
          },
          "liveChatIcon": {
            "type": "string",
            "example": "check",
            "description": "Icon for live chat"
          },
          "liveChatPlaceholderColor": {
            "type": "string",
            "example": "#000",
            "description": "Placeholder color for live chat"
          }
        }
      },
      "chat_widget_v3_WidgetSettingsThemeCustomColorDTO": {
        "type": "object",
        "properties": {
          "chatBubbleColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Chat Bubble Color"
          },
          "backgroundColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Background Color"
          },
          "headerColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Header Color"
          },
          "buttonColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Button Color"
          },
          "avatarBackgroundColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Avatar Background Color"
          },
          "avatarBorderColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Avatar Border Color"
          },
          "senderMessageColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Sender Message Color"
          },
          "receivedMessageColor": {
            "type": "string",
            "example": "#fffff",
            "description": "Received Message Color"
          }
        }
      },
      "chat_widget_v3_WidgetSettingsThemeDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "theme1",
            "description": "Theme Name"
          },
          "colors": {
            "description": "Custom Color Options",
            "example": {
              "name": "theme1",
              "chatBubbleColor": "#4285F4"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_WidgetSettingsThemeCustomColorDTO"
              }
            ]
          }
        }
      },
      "chat_widget_v3_WidgetSettingsCustomizationSizeDTO": {
        "type": "object",
        "properties": {
          "width": {
            "type": "number",
            "example": 360,
            "description": "Width"
          },
          "height": {
            "type": "number",
            "example": 360,
            "description": "Height"
          }
        }
      },
      "chat_widget_v3_WidgetSettingsCustomizationDTO": {
        "type": "object",
        "properties": {
          "position": {
            "type": "string",
            "example": "left",
            "description": "Position"
          },
          "sizes": {
            "description": "Typography Color Options",
            "example": {
              "width": 360,
              "height": 600
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_WidgetSettingsCustomizationSizeDTO"
              }
            ]
          }
        }
      },
      "chat_widget_v3_RedirectDTO": {
        "type": "object",
        "properties": {
          "redirectAction": {
            "type": "boolean",
            "description": "Redirect Action",
            "example": false
          },
          "redirectWebsite": {
            "type": "string",
            "description": "Redirect Website",
            "example": "crm.gesvision.com"
          },
          "redirectText": {
            "type": "string",
            "description": "Redirect Text",
            "example": "Click here"
          }
        }
      },
      "chat_widget_v3_BusinessOfficeHoursDTO": {
        "type": "object",
        "properties": {
          "enableBusinessHours": {
            "type": "boolean",
            "description": "Enable Business Hours",
            "example": false
          },
          "openHours": {
            "description": "Open hours schedule",
            "example": [
              {
                "day": "monday",
                "openHour": "09:00",
                "closeHour": "17:00"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "timezone": {
            "type": "string",
            "description": "Time Zone",
            "example": "UTC"
          },
          "outsideOfficeHoursWelcomeMsg": {
            "type": "string",
            "description": "Time Zone",
            "example": "Asia/Calcutta"
          }
        }
      },
      "chat_widget_v3_FBPageDTO": {
        "type": "object",
        "properties": {
          "facebookPageId": {
            "type": "string",
            "description": "Facebook Page ID",
            "example": "1234567890"
          },
          "facebookPageName": {
            "type": "string",
            "description": "Facebook Page Name",
            "example": "Facebook Page Name"
          }
        }
      },
      "chat_widget_v3_InstagramPageDTO": {
        "type": "object",
        "properties": {
          "facebookPageId": {
            "type": "string",
            "description": "Facebook Page ID",
            "example": "1234567890"
          },
          "facebookPageName": {
            "type": "string",
            "description": "Facebook Page Name",
            "example": "Facebook Page Name"
          },
          "instagramPageId": {
            "type": "string",
            "description": "Instagram Page ID",
            "example": "1234567890"
          },
          "instagramUsername": {
            "type": "string",
            "description": "Instagram UserName",
            "example": "Instagram UserName"
          }
        }
      },
      "chat_widget_v3_A2PComplianceDTO": {
        "type": "object",
        "properties": {
          "enableA2PCompliance": {
            "type": "boolean",
            "description": "Enable A2P Compliance",
            "example": true
          },
          "a2pOptInForm1": {
            "type": "string",
            "description": "A2P Opt In Form 1",
            "example": "I agree to receive marketing communications from [business name]"
          },
          "a2pOptInForm1ShowCheckbox": {
            "type": "boolean",
            "description": "Show checkbox for A2P Opt In Form 1",
            "example": true
          },
          "a2pOptInForm1PreChecked": {
            "type": "boolean",
            "description": "Pre-checked state for A2P Opt In Form 1 checkbox",
            "example": false
          },
          "isA2POptInForm2": {
            "type": "boolean",
            "description": "Is A2P Opt In Form 2",
            "example": true
          },
          "a2pOptInForm2": {
            "type": "string",
            "description": "A2P Opt In Form 2",
            "example": "I agree to receive marketing communications from [business name]"
          },
          "a2pOptInForm2ShowCheckbox": {
            "type": "boolean",
            "description": "Show checkbox for A2P Opt In Form 2",
            "example": true
          },
          "a2pOptInForm2PreChecked": {
            "type": "boolean",
            "description": "Pre-checked state for A2P Opt In Form 2 checkbox",
            "example": false
          },
          "privacyPolicyLink": {
            "type": "string",
            "description": "Privacy Policy Link",
            "example": "https://example.com/privacy-policy"
          },
          "termsOfServiceLink": {
            "type": "string",
            "description": "Terms of Service",
            "example": "https://example.com/terms-of-service"
          },
          "isA2POptInForm1": {
            "type": "boolean",
            "description": "Is A2P Opt In Form 1 enabled",
            "example": true
          },
          "messageType": {
            "type": "string",
            "description": "Message Type",
            "example": "A2P"
          }
        }
      },
      "chat_widget_v3_AdvanceSettingsDTO": {
        "type": "object",
        "properties": {
          "brandingTitle": {
            "type": "string",
            "description": "Branding Title",
            "example": "Agency"
          },
          "redirect": {
            "description": "Redirect Object",
            "example": {
              "redirectAction": false,
              "redirectWebsite": "https://example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_RedirectDTO"
              }
            ]
          },
          "enableContactForm": {
            "type": "boolean",
            "description": "Boolean for showing contact form at start",
            "example": true
          },
          "defaultConsentCheck": {
            "type": "boolean",
            "description": "By default consent check for contact form",
            "example": true
          },
          "businessOfficeHours": {
            "description": "Business Office Hours",
            "example": {
              "enableBusinessHours": false,
              "timezone": "UTC"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_BusinessOfficeHoursDTO"
              }
            ]
          },
          "contactFormOptions": {
            "description": "Contact form field configuration",
            "example": [
              {
                "label": "Email",
                "value": "email",
                "dataType": "STANDARD_FIELD",
                "required": true
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allInOneChatTypes": {
            "description": "Chat types included in the all-in-one widget",
            "example": [
              "liveChat",
              "waChat"
            ],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "liveChat",
                "waChat",
                "emailChat",
                "allInOneChat",
                "voiceAiChat",
                "facebookChat",
                "instagramChat",
                "webChat"
              ]
            }
          },
          "allInOneInitialMsg": {
            "type": "string",
            "description": "All In One Initial Msg",
            "example": "Choose a chat option to get started."
          },
          "contactFormIntroMessage": {
            "type": "string",
            "description": "Contact Form Intro Message",
            "example": "Please share contact details"
          },
          "contactFormSystemMessage": {
            "type": "string",
            "description": "Contact Form System Message",
            "example": "Please share contact details"
          },
          "prefilledMessageText": {
            "type": "string",
            "description": "Prefilled Message Text",
            "example": "I want to know more"
          },
          "voiceAiAgent": {
            "type": "object",
            "description": "Voice AI Agent",
            "example": {}
          },
          "fbPage": {
            "description": "Facebook Page",
            "example": {
              "facebookPageId": "1234567890",
              "facebookPageName": "My Page"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_FBPageDTO"
              }
            ]
          },
          "instagramPage": {
            "description": "Instagram Page",
            "example": {
              "instagramPageId": "1234567890",
              "instagramUsername": "mypage"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_InstagramPageDTO"
              }
            ]
          },
          "playNotificationSound": {
            "type": "boolean",
            "description": "Play Notification Sound",
            "example": false
          },
          "voiceAiSendActionText": {
            "type": "string",
            "description": "Voice Ai Send Action Text",
            "example": "Call Now"
          },
          "aTwoPCompliance": {
            "description": "A2P Compliance",
            "example": {
              "enableA2PCompliance": true,
              "marketingComplianceMessage": "This is a marketing compliance message",
              "isA2POptInForm2": true,
              "a2pComplianceMessage": "This is a A2P compliance message",
              "privacyPolicyLink": "https://example.com/privacy-policy",
              "termsOfServiceLink": "https://example.com/terms-of-service"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_A2PComplianceDTO"
              }
            ]
          }
        }
      },
      "chat_widget_v3_WidgetSettingsDTO": {
        "type": "object",
        "properties": {
          "acknowledgementDetails": {
            "description": "Acknowledgement Details",
            "example": {
              "icon": "check",
              "placeholderColor": "#000"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_AcknowledgementDetailsDTO"
              }
            ]
          },
          "agencyName": {
            "type": "string",
            "description": "Name of the agency",
            "example": "Example Agency"
          },
          "agencyWebsite": {
            "type": "string",
            "description": "Website URL of the agency",
            "example": "https://example.com"
          },
          "allowAvatarImage": {
            "type": "boolean",
            "description": "Allow avatar image",
            "example": true
          },
          "autoCountryCode": {
            "type": "boolean",
            "description": "Boolean indicating whether to automatically detect country code",
            "example": true
          },
          "countryCode": {
            "type": "string",
            "description": "Country code",
            "example": "US"
          },
          "chatType": {
            "type": "string",
            "description": "Chat Type",
            "example": "emailChat"
          },
          "promptType": {
            "type": "string",
            "description": "Prompt Type",
            "example": "avatar"
          },
          "chatIcon": {
            "type": "string",
            "description": "Message Chat Circle",
            "example": "messageChatCircle"
          },
          "enableRevisitMessage": {
            "type": "boolean",
            "description": "Boolean indicating whether to enable a revisit message",
            "example": true
          },
          "heading": {
            "type": "string",
            "description": "Heading text",
            "example": "Welcome to Our Website"
          },
          "legalMsg": {
            "type": "string",
            "description": "Legal message",
            "example": "By using this website, you agree to our terms and conditions."
          },
          "liveChatAckMsg": {
            "type": "string",
            "description": "Message acknowledging a live chat",
            "example": "Thank you for reaching out. How may I assist you today?"
          },
          "liveChatEndedMsg": {
            "type": "string",
            "description": "Message indicating the end of a live chat",
            "example": "Thank you for chatting with us. Have a great day!"
          },
          "liveChatFeedbackMsg": {
            "type": "string",
            "description": "Message asking for feedback after a live chat",
            "example": "We would appreciate your feedback. Please rate your experience."
          },
          "liveChatFeedbackNote": {
            "type": "string",
            "description": "Note regarding live chat feedback",
            "example": "Your feedback helps us improve our services."
          },
          "liveChatIntroMsg": {
            "type": "string",
            "description": "Introduction message for a live chat",
            "example": "Hello! Welcome to our live chat support. How can I assist you today?"
          },
          "liveChatUserInactiveMsg": {
            "type": "string",
            "description": "Message for inactive users during a live chat",
            "example": "Are you still there? Please let us know if you need assistance."
          },
          "liveChatUserInactiveTime": {
            "type": "string",
            "description": "Time for considering a user inactive during a live chat",
            "example": "5 minutes"
          },
          "liveChatVisitorInactiveMsg": {
            "type": "string",
            "description": "Message for inactive visitors during a live chat",
            "example": "Looks like you stepped away. Feel free to return whenever you need help."
          },
          "liveChatVisitorInactiveTime": {
            "type": "string",
            "description": "Time for considering a visitor inactive during a live chat",
            "example": "10 minutes"
          },
          "locale": {
            "type": "string",
            "description": "Locale setting",
            "example": "en_US"
          },
          "promptAvatar": {
            "type": "string",
            "description": "Avatar for prompts",
            "example": "avatar.jpg"
          },
          "promptAvatarAltText": {
            "type": "string",
            "description": "Prompt Avatar Alt Text",
            "example": "company logo"
          },
          "isPromptAvatarImageOptimize": {
            "type": "boolean",
            "description": "Avatar Image Optimization",
            "example": false
          },
          "promptMsg": {
            "type": "string",
            "description": "Prompt message",
            "example": "Need assistance? Feel free to ask us anything!"
          },
          "revisitPromptMsg": {
            "type": "string",
            "description": "Message for revisiting prompts",
            "example": "Welcome back! How can we help you today?"
          },
          "sendActionText": {
            "type": "string",
            "description": "Text for send action",
            "example": "Send"
          },
          "showAgencyBranding": {
            "type": "boolean",
            "description": "Boolean indicating whether to show agency branding",
            "example": true
          },
          "showConsentCheckbox": {
            "type": "boolean",
            "description": "Boolean indicating whether to show a consent checkbox",
            "example": true
          },
          "showLiveChatWelcomeMsg": {
            "type": "boolean",
            "description": "Boolean indicating whether to show a welcome message for live chat",
            "example": true
          },
          "showPrompt": {
            "type": "boolean",
            "description": "Boolean indicating whether to show prompts",
            "example": true
          },
          "subHeading": {
            "type": "string",
            "description": "Subheading text",
            "example": "We are here to help you!"
          },
          "successMsg": {
            "type": "string",
            "description": "Success message",
            "example": "Your message has been sent successfully."
          },
          "supportContact": {
            "type": "string",
            "description": "Contact information for support",
            "example": "support@example.com"
          },
          "thankYouMsg": {
            "type": "string",
            "description": "Thank you message",
            "example": "Thank you for visiting our website!"
          },
          "theme": {
            "description": "Theme",
            "example": {
              "name": "theme1"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_WidgetSettingsThemeDTO"
              }
            ]
          },
          "useEmailField": {
            "type": "boolean",
            "description": "Boolean indicating whether to use an email field",
            "example": true
          },
          "waNumber": {
            "type": "string",
            "description": "WhatsApp number",
            "example": "+1234567890"
          },
          "widgetPrimaryColor": {
            "type": "string",
            "description": "Primary color for the widget",
            "example": "#4285F4"
          },
          "representativeAssignedMessage": {
            "type": "string",
            "description": "Representative Assigned Message",
            "example": "#4285F4"
          },
          "dimensions": {
            "description": "Customizations",
            "example": {
              "position": "right"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_WidgetSettingsCustomizationDTO"
              }
            ]
          },
          "advanceSettings": {
            "description": "Advance Settings",
            "example": {
              "enableContactForm": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_AdvanceSettingsDTO"
              }
            ]
          },
          "locationCountryCode": {
            "type": "string",
            "description": "Location Country Code",
            "example": "US"
          },
          "widgetId": {
            "type": "string",
            "description": "Widget Id",
            "example": "92929283937922"
          },
          "widgetPlacement": {
            "type": "string",
            "description": "Widget Placement",
            "example": "embedded"
          }
        },
        "required": [
          "chatType",
          "chatIcon"
        ]
      },
      "chat_widget_v3_CreateWidgetDTO": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "description": "Version",
            "example": 2
          },
          "chatType": {
            "type": "string",
            "description": "Chat type",
            "example": "emailChat",
            "enum": [
              "liveChat",
              "emailChat"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Chat Widget 1"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "oHJiAh0wDG3BzmzACVD6"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted",
            "example": false
          },
          "default": {
            "type": "boolean",
            "description": "Default",
            "example": false
          },
          "settings": {
            "description": "Settings",
            "example": {
              "chatType": "emailChat"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_WidgetSettingsDTO"
              }
            ]
          }
        },
        "required": [
          "version",
          "chatType",
          "name",
          "locationId"
        ]
      },
      "chat_widget_v3_UpdateWidgetDTO": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "description": "Version",
            "example": 2
          },
          "chatType": {
            "type": "string",
            "description": "Chat type",
            "example": "emailChat",
            "enum": [
              "liveChat",
              "emailChat"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Chat Widget 1"
          },
          "default": {
            "type": "boolean",
            "description": "Default",
            "example": false
          },
          "settings": {
            "description": "Settings",
            "example": {
              "chatType": "emailChat"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/chat_widget_v3_WidgetSettingsDTO"
              }
            ]
          }
        }
      },
      "chat_widget_v3_CloneChatWidgetDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "locationId",
            "example": "oHJiAh0wDG3BzmzACVD6"
          },
          "chatWidgetId": {
            "type": "string",
            "description": "chat widget ID",
            "example": "oHJiAh0wDG3BzmzACVD6"
          },
          "name": {
            "type": "string",
            "description": "Name for the cloned widget",
            "example": "Chat Widget 1 (copy)"
          }
        },
        "required": [
          "locationId",
          "chatWidgetId"
        ]
      },
      "companies_v3_IOnboardingDto": {
        "type": "object",
        "properties": {
          "pending": {
            "type": "boolean",
            "example": "true"
          },
          "haveWebsite": {
            "type": "boolean",
            "example": ""
          },
          "websiteUrl": {
            "type": "string",
            "example": ""
          },
          "industryServed": {
            "type": "string",
            "example": ""
          },
          "customerCount": {
            "type": "string",
            "example": ""
          },
          "tools": {
            "example": "",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "type": "boolean",
            "example": ""
          },
          "conversationDemo": {
            "type": "boolean",
            "example": ""
          },
          "locationId": {
            "type": "string",
            "example": ""
          },
          "snapshotId": {
            "type": "string",
            "example": ""
          },
          "planId": {
            "type": "string",
            "description": "Selected agency plan unique plan Id",
            "example": "plan_EOi37NLV12u68i"
          },
          "affiliateSignup": {
            "type": "boolean",
            "description": "Set to true if it is from affiliate",
            "example": true
          },
          "hasJoinedKickoffCall": {
            "type": "boolean",
            "description": "Set to true if user joined onboarding call",
            "example": true
          },
          "kickoffActionTaken": {
            "type": "boolean",
            "description": "Set to true if user joined onboarding call",
            "example": true
          },
          "hasJoinedImplementationCall": {
            "type": "boolean",
            "description": "Set to true if user joined implementation call",
            "example": true
          },
          "version": {
            "type": "string",
            "description": "This helps in A/B tracking of onboarding flow",
            "example": "1"
          },
          "metaData": {
            "type": "object",
            "description": "metaData for onboarding",
            "example": true
          }
        },
        "required": [
          "pending"
        ]
      },
      "companies_v3_GetCompanyByIdSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "seD4PfOuKoVMLkEZqohJ"
          },
          "name": {
            "type": "string",
            "example": "Tesla inc"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com"
          },
          "logoUrl": {
            "type": "string",
            "example": "https://firebasestorage.googleapis.com/v0/b/crm-gesvision-staging.appspot.com/o/companyPhotos%2F5DP4iH6HLkQsiKESj6rh.gif?alt=media&token=2aec9720-59a7-46af-a187-d4a2774ee873"
          },
          "phone": {
            "type": "string",
            "example": "+1202-555-0107"
          },
          "website": {
            "type": "string",
            "example": "https://www.tesla.com"
          },
          "domain": {
            "type": "string",
            "example": "https://app.myawesomedomain.com"
          },
          "spareDomain": {
            "type": "string",
            "example": "link.msgsndr.com"
          },
          "privacyPolicy": {
            "type": "string",
            "example": "https://app.crm.gesvision.com/privacy_policy"
          },
          "termsConditions": {
            "type": "string",
            "example": "https://app.crm.gesvision.com/terms-of-service"
          },
          "address": {
            "type": "string",
            "example": "3500 Deer Creek Road"
          },
          "city": {
            "type": "string",
            "example": "Palo Alto"
          },
          "postalCode": {
            "type": "string",
            "example": "94304"
          },
          "country": {
            "type": "string",
            "example": "US"
          },
          "state": {
            "type": "string",
            "example": "CA"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central"
          },
          "relationshipNumber": {
            "type": "string",
            "example": "x-xxx-xxx"
          },
          "subdomain": {
            "type": "string",
            "example": "https://app.myawesomedomain.com/subdomain"
          },
          "plan": {
            "type": "number",
            "example": 1
          },
          "currency": {
            "type": "string",
            "example": ""
          },
          "customerType": {
            "type": "string",
            "example": "agency"
          },
          "termsOfServiceVersion": {
            "type": "string",
            "example": "06/01/2022"
          },
          "termsOfServiceAcceptedBy": {
            "type": "string",
            "example": "SDfdf355Dfggdee"
          },
          "twilioTrialMode": {
            "type": "boolean",
            "example": true
          },
          "twilioFreeCredits": {
            "type": "number",
            "example": 100
          },
          "termsOfServiceAcceptedDate": {
            "type": "string",
            "example": ""
          },
          "privacyPolicyVersion": {
            "type": "string",
            "example": "06/01/2022"
          },
          "privacyPolicyAcceptedBy": {
            "type": "string",
            "example": "SDfdf355Dfggdee"
          },
          "privacyPolicyAcceptedDate": {
            "type": "string",
            "example": ""
          },
          "affiliatePolicyVersion": {
            "type": "string",
            "example": "06/01/2022"
          },
          "affiliatePolicyAcceptedBy": {
            "type": "string",
            "example": "SDfdf355Dfggdee"
          },
          "affiliatePolicyAcceptedDate": {
            "type": "string",
            "example": ""
          },
          "isReselling": {
            "type": "boolean",
            "example": true
          },
          "onboardingInfo": {
            "example": "",
            "allOf": [
              {
                "$ref": "#/components/schemas/companies_v3_IOnboardingDto"
              }
            ]
          },
          "upgradeEnabledForClients": {
            "type": "boolean",
            "example": true,
            "description": "Flag to set if upgrade plan is enabled"
          },
          "cancelEnabledForClients": {
            "type": "boolean",
            "example": true,
            "description": "Flag to set if cancel plan is enabled"
          },
          "autoSuspendEnabled": {
            "type": "boolean",
            "example": true,
            "description": "Flag to set if auto suspend is enabled"
          },
          "saasSettings": {
            "type": "object",
            "example": {
              "agencyDashboardVisibleTo": "string",
              "stripeConnectInitiatedBy": "string"
            },
            "description": "Saas Settings"
          },
          "stripeConnectId": {
            "type": "string",
            "example": ""
          },
          "enableDepreciatedFeatures": {
            "type": "boolean",
            "example": true
          },
          "premiumUpgraded": {
            "type": "boolean",
            "description": "If you want to enable / disable Priority Support for any agency. Default value is false.",
            "example": false,
            "default": false
          },
          "status": {
            "type": "string",
            "example": "active-trial"
          },
          "locationCount": {
            "type": "number",
            "example": 10
          },
          "disableEmailService": {
            "type": "boolean",
            "example": false
          },
          "referralId": {
            "type": "string",
            "example": "john-doe-21"
          },
          "isEnterpriseAccount": {
            "type": "boolean",
            "example": true
          },
          "businessNiche": {
            "type": "string",
            "example": "Accounting School",
            "description": "The business niche in which the agency is operating"
          },
          "businessCategory": {
            "type": "string",
            "example": "Automotive",
            "description": "Business category"
          },
          "businessAffinityGroup": {
            "type": "string",
            "example": "Vehicle Dealerships",
            "description": "The affinity group of the agency"
          },
          "isSandboxAccount": {
            "type": "boolean",
            "example": true
          },
          "enableNewSubAccountDefaultData": {
            "type": "boolean",
            "example": false,
            "description": "Flag to determine if new sub-accounts should use default data"
          }
        }
      },
      "companies_v3_GetCompanyByIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "company": {
            "$ref": "#/components/schemas/companies_v3_GetCompanyByIdSchema"
          }
        }
      },
      "contacts_v3_SearchBodyV2DTO": {
        "type": "object",
        "properties": {}
      },
      "contacts_v3_TaskSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the task",
            "example": "lJpzYrWdpkC2hX6t2yue"
          },
          "title": {
            "type": "string",
            "description": "Title of the task",
            "example": "test"
          },
          "body": {
            "type": "string",
            "description": "Body or description of the task",
            "example": "testing"
          },
          "assignedTo": {
            "type": "string",
            "description": "User Id to whom the task is assigned",
            "example": "tesTUcmRxWrjqzJS8EjkxNKting"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date of the task (ISO 8601 format)",
            "example": "2021-07-08T02:30:00.000Z"
          },
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed",
            "example": true
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id associated with the task",
            "example": "lJpzYrWdpkC2hX6t2yue"
          }
        }
      },
      "contacts_v3_TasksListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tasks": {
            "description": "List of tasks",
            "example": [
              {
                "id": "lJpzYrWdpkC2hX6t2yue",
                "title": "test",
                "body": "testing",
                "assignedTo": "tesTUcmRxWrjqzJS8EjkxNK",
                "dueDate": "2021-07-08T02:30:00.000Z",
                "completed": true,
                "contactId": "lJpzYrWdpkC2hX6t2yue"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_TaskSchema"
            }
          }
        }
      },
      "contacts_v3_TaskByIsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "task": {
            "description": "Task details",
            "example": {
              "id": "lJpzYrWdpkC2hX6t2yue",
              "title": "test",
              "body": "testing",
              "assignedTo": "tesTUcmRxWrjqzJS8EjkxNK",
              "dueDate": "2021-07-08T02:30:00.000Z",
              "completed": true,
              "contactId": "lJpzYrWdpkC2hX6t2yue"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_TaskSchema"
              }
            ]
          }
        }
      },
      "contacts_v3_CreateTaskParams": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the task",
            "example": "First Task"
          },
          "body": {
            "type": "string",
            "description": "Body or description of the task",
            "example": "loram ipsum"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date of the task (ISO 8601 format)",
            "example": "2020-10-25T11:00:00Z"
          },
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed",
            "example": true
          },
          "assignedTo": {
            "type": "string",
            "description": "User Id to whom the task is assigned",
            "example": "hxHGVRb1YJUscrCB8eXK"
          }
        },
        "required": [
          "title",
          "dueDate",
          "completed"
        ]
      },
      "contacts_v3_UpdateTaskBody": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the task",
            "example": "First Task"
          },
          "body": {
            "type": "string",
            "description": "Body or description of the task",
            "example": "loram ipsum"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date of the task (ISO 8601 format)",
            "example": "2020-10-25T11:00:00Z"
          },
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed",
            "example": true
          },
          "assignedTo": {
            "type": "string",
            "description": "User Id to whom the task is assigned",
            "example": "hxHGVRb1YJUscrCB8eXK"
          }
        }
      },
      "contacts_v3_UpdateTaskStatusParams": {
        "type": "object",
        "properties": {
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed",
            "example": true
          }
        },
        "required": [
          "completed"
        ]
      },
      "contacts_v3_DeleteTaskSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether the task was successfully deleted",
            "example": true
          },
          "succeded": {
            "type": "boolean",
            "description": "Legacy misspelling of `succeeded`. Deprecated; use `succeeded`.",
            "example": true,
            "deprecated": true
          }
        }
      },
      "contacts_v3_GetEventSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the appointment",
            "example": "YS3jaqqeehkR2Is80miy"
          },
          "calendarId": {
            "type": "string",
            "description": "Calendar Id associated with the appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "status": {
            "type": "string",
            "description": "Status of the appointment",
            "example": "booked"
          },
          "title": {
            "type": "string",
            "description": "Title of the appointment",
            "example": "Test"
          },
          "assignedUserId": {
            "type": "string",
            "description": "User Id assigned to the appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "notes": {
            "type": "string",
            "description": "Notes for the appointment",
            "example": "test"
          },
          "startTime": {
            "type": "string",
            "description": "Start time of the appointment",
            "example": "2021-07-16 11:00:00"
          },
          "endTime": {
            "type": "string",
            "description": "End time of the appointment",
            "example": "2021-07-16 11:30:00"
          },
          "address": {
            "type": "string",
            "description": "Address for the appointment",
            "example": "Address"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id of the appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id associated with the appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "groupId": {
            "type": "string",
            "description": "Group Id of the appointment",
            "example": "YlWd2wuCAZQzh2cH1fVZ"
          },
          "appointmentStatus": {
            "type": "string",
            "description": "Appointment status",
            "example": "booked"
          },
          "users": {
            "description": "List of user Ids assigned to the appointment",
            "example": [
              "YlWd2wuCAZQzh2cH1fVZ",
              "YlWd2wuCAZQzh2cH1fVZ"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dateAdded": {
            "type": "string",
            "description": "Date the appointment was created",
            "example": "2021-07-16 11:00:00"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date the appointment was last updated",
            "example": "2021-07-16 11:30:00"
          },
          "assignedResources": {
            "description": "List of resource Ids assigned to the appointment",
            "example": [
              "YlWd2wuCAZQzh2cH1fVZ",
              "YlWd2wuCAZQzh2cH1fVZ"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_v3_GetEventsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "events": {
            "description": "List of appointments",
            "example": [
              {
                "id": "YS3jaqqeehkR2Is80miy",
                "calendarId": "YlWd2wuCAZQzh2cH1fVZ",
                "status": "booked",
                "title": "Test",
                "assignedUserId": "YlWd2wuCAZQzh2cH1fVZ",
                "notes": "test",
                "startTime": "2021-07-16 11:00:00",
                "endTime": "2021-07-16 11:30:00"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_GetEventSchema"
            }
          }
        }
      },
      "contacts_v3_TagsDTO": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "List of tags to add or remove",
            "example": [
              "minim",
              "velit magna"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "contacts_v3_CreateAddTagSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Current tags on the contact after the operation",
            "example": [
              "minim",
              "velit magna"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_v3_CreateDeleteTagSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Current tags on the contact after the operation",
            "example": [
              "minim",
              "velit magna"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_v3_GetNoteSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the note",
            "example": "HGPcayliwcdoUFzvbTok"
          },
          "body": {
            "type": "string",
            "description": "Body content of the note",
            "example": "lorem ipsum"
          },
          "userId": {
            "type": "string",
            "description": "User Id of the note author",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date the note was added (ISO 8601 format)",
            "example": "2021-07-08T12:02:11.285Z"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id associated with the note",
            "example": "TUcmRxWrjqzJS8EjkxNK"
          },
          "title": {
            "type": "string",
            "description": "Title of the note",
            "example": "Follow-up summary"
          },
          "color": {
            "type": "string",
            "description": "Hex color code for the note",
            "example": "#FFAA00"
          },
          "pinned": {
            "type": "boolean",
            "description": "Whether the note is pinned",
            "example": false
          }
        }
      },
      "contacts_v3_GetNotesListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "notes": {
            "description": "List of notes",
            "example": [
              {
                "id": "HGPcayliwcdoUFzvbTok",
                "body": "lorem ipsum",
                "userId": "TUcmRxWrjqzJS8EjkxNK",
                "dateAdded": "2021-07-08T12:02:11.285Z",
                "contactId": "TUcmRxWrjqzJS8EjkxNK"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_GetNoteSchema"
            }
          }
        }
      },
      "contacts_v3_NotesDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User Id of the note author",
            "example": "GCs5KuzPqTls7vWclkEV"
          },
          "body": {
            "type": "string",
            "description": "Body content of the note",
            "example": "lorem ipsum"
          },
          "title": {
            "type": "string",
            "description": "Title of the note",
            "example": "Follow-up summary"
          },
          "color": {
            "type": "string",
            "description": "Hex color code for the note",
            "example": "#FFAA00"
          },
          "pinned": {
            "type": "boolean",
            "description": "Whether the note is pinned",
            "example": false
          }
        },
        "required": [
          "body"
        ]
      },
      "contacts_v3_GetCreateUpdateNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "note": {
            "description": "Note details",
            "example": {
              "id": "HGPcayliwcdoUFzvbTok",
              "body": "lorem ipsum",
              "userId": "TUcmRxWrjqzJS8EjkxNK",
              "dateAdded": "2021-07-08T12:02:11.285Z",
              "contactId": "TUcmRxWrjqzJS8EjkxNK"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_GetNoteSchema"
              }
            ]
          }
        }
      },
      "contacts_v3_UpdateNoteDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User Id of the note author",
            "example": "GCs5KuzPqTls7vWclkEV"
          },
          "body": {
            "type": "string",
            "description": "Body content of the note",
            "example": "lorem ipsum"
          },
          "title": {
            "type": "string",
            "description": "Title of the note",
            "example": "Follow-up summary"
          },
          "color": {
            "type": "string",
            "description": "Hex color code for the note",
            "example": "#FFAA00"
          },
          "pinned": {
            "type": "boolean",
            "description": "Whether the note is pinned",
            "example": false
          }
        }
      },
      "contacts_v3_DeleteNoteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether the note was successfully deleted",
            "example": true
          },
          "succeded": {
            "type": "boolean",
            "description": "Legacy misspelling of `succeeded`. Deprecated; use `succeeded`.",
            "example": true,
            "deprecated": true
          }
        }
      },
      "contacts_v3_UpdateTagsDTO": {
        "type": "object",
        "properties": {
          "contacts": {
            "description": "list of contact ids to be processed",
            "example": [
              "qFSqySFkVvNzOSqgGqFi",
              "abcdef",
              "qFSqySFkVvNzOSqgGqFi",
              "3ualbhnV7j3n3a9r2moD"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tags": {
            "description": "list of tags to be added or removed",
            "example": [
              "tag-1",
              "tag-2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "location id from where the bulk request is executed",
            "example": "asdrwHvLUxlfw5SqKVCN"
          },
          "removeAllTags": {
            "type": "boolean",
            "description": "Option to implement remove all tags. if true, all tags will be removed from the contacts. Can only be used with remove type.",
            "example": "false"
          }
        },
        "required": [
          "contacts",
          "tags",
          "locationId"
        ]
      },
      "contacts_v3_UpdateTagsResponseDTO": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          },
          "succeded": {
            "type": "boolean",
            "description": "Legacy misspelling of `succeeded`. Deprecated; use `succeeded`.",
            "example": true,
            "deprecated": true
          },
          "errorCount": {
            "type": "number",
            "description": "Number of errors encountered during the operation",
            "example": 0
          },
          "responses": {
            "description": "Responses for each contact processed",
            "example": [
              {
                "contactId": "qFSqySFkVvNzOSqgGqFi",
                "message": "Tags updated",
                "type": "success",
                "oldTags": [
                  "tag-1",
                  "tag-2"
                ],
                "tagsAdded": [],
                "tagsRemoved": []
              },
              {
                "contactId": "abcdef",
                "message": "contact id is not a valid firebase id",
                "type": "error"
              },
              {
                "contactId": "qFSqySFkVvNzOSqgGqFi",
                "message": "contact is deleted",
                "type": "error"
              },
              {
                "contactId": "3ualbhnV7j3n3a9r2moD",
                "message": "contact does not belong to location",
                "type": "error"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "succeeded",
          "succeded",
          "errorCount",
          "responses"
        ]
      },
      "contacts_v3_ContactsBusinessUpdate": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "PX8m5VwxEbcpFlzYEPVG"
          },
          "ids": {
            "description": "List of contact Ids to update (maximum 50)",
            "example": [
              "IDqvFHGColiyK6jiatuz",
              "pOC0uJ97VYOKH2m3fkMD"
            ],
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 50
            }
          },
          "businessId": {
            "type": "string",
            "description": "Business Id to assign to contacts. Pass null to remove business association.",
            "example": "63b7ec34ea409a9a8bd2a4ff",
            "nullable": true
          }
        },
        "required": [
          "locationId",
          "ids",
          "businessId"
        ]
      },
      "contacts_v3_ContactsBulkUpateResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the bulk update was successful",
            "example": true
          },
          "ids": {
            "description": "List of contact Ids that were updated",
            "example": [
              "pOC0uJ97VYOKH2m3fkMD"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "success",
          "ids"
        ]
      },
      "contacts_v3_DeleteContactsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether the delete operation succeeded",
            "example": true
          },
          "succeded": {
            "type": "boolean",
            "description": "Legacy misspelling of `succeeded`. Deprecated; use `succeeded`.",
            "example": true,
            "deprecated": true
          }
        }
      },
      "contacts_v3_customFieldsInputArraySchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "description": "Array value for the custom field (preferred).",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "field_value": {
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_customFieldsInputObjectSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "object",
            "description": "Object value for the custom field (preferred).",
            "example": {}
          },
          "field_value": {
            "type": "object",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": {}
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_customFieldsInputStringSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ",
            "description": "Pass either `id` or `key` of custom field"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field",
            "description": "Pass either `id` or `key` of custom field"
          },
          "fieldValue": {
            "type": "string",
            "example": "9039160788",
            "description": "Value for the custom field (preferred)."
          },
          "field_value": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": "9039160788"
          }
        }
      },
      "contacts_v3_TextField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "string",
            "description": "Text value for the custom field (preferred).",
            "example": "My Text"
          },
          "field_value": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": "My Text"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_LargeTextField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "string",
            "description": "Large text value for the custom field (preferred).",
            "example": "My Text"
          },
          "field_value": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": "My Text"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_SingleSelectField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "string",
            "description": "Selected option value for the custom field (preferred).",
            "example": "My Selected Option"
          },
          "field_value": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": "My Selected Option"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_RadioField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "string",
            "description": "Selected radio option value for the custom field (preferred).",
            "example": "My Selected Option"
          },
          "field_value": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": "My Selected Option"
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_NumericField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "object",
            "description": "Numeric value for the custom field (preferred).",
            "example": 100
          },
          "field_value": {
            "type": "object",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": 100
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_MonetoryField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "object",
            "description": "Monetary value for the custom field (preferred).",
            "example": 100.5
          },
          "field_value": {
            "type": "object",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": 100.5
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_CheckboxField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "description": "Array of selected checkbox values for the custom field (preferred).",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "field_value": {
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_MultiSelectField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "description": "Array of selected values for the custom field (preferred).",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "field_value": {
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_FileField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "object",
            "description": "File upload value — a map of UUID to file metadata and download URL (preferred).",
            "example": {
              "f31175d4-2b06-4fc6-b7bc-74cd814c68cb": {
                "meta": {
                  "fieldname": "1HeGizb13P0odwgOgKSs",
                  "originalname": "IMG_20231215_164412935.jpg",
                  "encoding": "7bit",
                  "mimetype": "image/jpeg",
                  "size": 1786611,
                  "uuid": "f31175d4-2b06-4fc6-b7bc-74cd814c68cb"
                },
                "url": "https://api.crm.gesvision.com/documents/download/w2M9qTZ0ZJz8rGt02jdJ",
                "documentId": "w2M9qTZ0ZJz8rGt02jdJ"
              }
            }
          },
          "field_value": {
            "type": "object",
            "deprecated": true,
            "description": "Deprecated. Use `fieldValue` instead.",
            "example": {
              "f31175d4-2b06-4fc6-b7bc-74cd814c68cb": {
                "meta": {
                  "fieldname": "1HeGizb13P0odwgOgKSs",
                  "originalname": "IMG_20231215_164412935.jpg",
                  "encoding": "7bit",
                  "mimetype": "image/jpeg",
                  "size": 1786611,
                  "uuid": "f31175d4-2b06-4fc6-b7bc-74cd814c68cb"
                },
                "url": "https://api.crm.gesvision.com/documents/download/w2M9qTZ0ZJz8rGt02jdJ",
                "documentId": "w2M9qTZ0ZJz8rGt02jdJ"
              }
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "contacts_v3_CustomFieldSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the custom field",
            "example": "MgobCB14YMVKuE4Ka8p1"
          },
          "value": {
            "type": "string",
            "description": "Value of the custom field",
            "example": "name"
          }
        }
      },
      "contacts_v3_AttributionSource": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Attribution source type",
            "example": "Trigger Link"
          },
          "campaign": {
            "type": "string",
            "description": "Campaign name",
            "example": "Summer Sale 2024",
            "nullable": true
          },
          "utmSource": {
            "type": "string",
            "description": "UTM source parameter",
            "example": "google",
            "nullable": true
          },
          "utmMedium": {
            "type": "string",
            "description": "UTM medium parameter",
            "example": "cpc",
            "nullable": true
          },
          "utmContent": {
            "type": "string",
            "description": "UTM content parameter",
            "example": "ad_variation_1",
            "nullable": true
          },
          "referrer": {
            "type": "string",
            "description": "Referrer URL",
            "example": "https://www.google.com",
            "nullable": true
          },
          "campaignId": {
            "type": "string",
            "description": "Campaign Id",
            "example": "641c094001436dbc2081e642",
            "nullable": true
          },
          "fbclid": {
            "type": "string",
            "description": "Facebook click Id",
            "example": "fb.1.1674748390986.1171287961",
            "nullable": true
          },
          "gclid": {
            "type": "string",
            "description": "Google click Id",
            "example": "CjOKCQjwnNyUBhCZARISAI9AYIFtNnIcWcYGIOQINz_ZoFI5SSLRRugSoPZoiEu27IZBY£1-MAIWmEaAo2VEALW_WCB",
            "nullable": true
          },
          "msclikid": {
            "type": "string",
            "description": "Microsoft click Id",
            "example": "MS!AzEREREDJKSJD",
            "nullable": true
          },
          "dclid": {
            "type": "string",
            "description": "DoubleClick click Id",
            "example": "EAIaIQobChMIw",
            "nullable": true
          },
          "fbc": {
            "type": "string",
            "description": "Facebook browser Id",
            "example": "fb.1.1674748390986.1171287961",
            "nullable": true
          },
          "fbp": {
            "type": "string",
            "description": "Facebook pixel Id",
            "example": "fb. 1.1674748390986.1171287961",
            "nullable": true
          },
          "fbEventId": {
            "type": "string",
            "description": "Facebook event Id",
            "example": "Mozilla/5.0",
            "nullable": true
          },
          "userAgent": {
            "type": "string",
            "description": "Browser user agent string",
            "example": "Mozilla/5.0",
            "nullable": true
          },
          "ip": {
            "type": "string",
            "description": "IP address of the visitor",
            "example": "58.111.106.198",
            "nullable": true
          },
          "medium": {
            "type": "string",
            "description": "Attribution medium (e.g. survey, funnel)",
            "example": "survey",
            "nullable": true
          },
          "mediumId": {
            "type": "string",
            "description": "Id of the attribution medium",
            "example": "FglfHAn30PRwsZVyQlKp",
            "nullable": true
          }
        },
        "required": [
          "url"
        ]
      },
      "contacts_v3_DndSettingSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Do Not Disturb status for this channel",
            "enum": [
              "active",
              "inactive",
              "permanent"
            ],
            "example": "active"
          },
          "message": {
            "type": "string",
            "description": "Custom message associated with the DND setting",
            "example": "Do not contact via this channel"
          },
          "code": {
            "type": "string",
            "description": "DND code or reason",
            "example": "OPTED_OUT"
          }
        },
        "required": [
          "status"
        ]
      },
      "contacts_v3_DndSettingsSchemaV3": {
        "type": "object",
        "properties": {
          "call": {
            "description": "DND settings for phone calls",
            "example": {
              "status": "active",
              "message": "Do not call",
              "code": "all"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingSchema"
              }
            ]
          },
          "email": {
            "description": "DND settings for email",
            "example": {
              "status": "active",
              "message": "Do not email",
              "code": "all"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingSchema"
              }
            ]
          },
          "sms": {
            "description": "DND settings for SMS",
            "example": {
              "status": "active",
              "message": "Do not SMS",
              "code": "all"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingSchema"
              }
            ]
          },
          "whatsApp": {
            "description": "DND settings for WhatsApp",
            "example": {
              "status": "active",
              "message": "Do not WhatsApp",
              "code": "all"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingSchema"
              }
            ]
          },
          "gmb": {
            "description": "DND settings for Google My Business",
            "example": {
              "status": "active",
              "message": "Do not contact via GMB",
              "code": "all"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingSchema"
              }
            ]
          },
          "fb": {
            "description": "DND settings for Facebook",
            "example": {
              "status": "active",
              "message": "Do not contact via FB",
              "code": "all"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingSchema"
              }
            ]
          }
        }
      },
      "contacts_v3_GetContactByIdSchemaV3": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the contact",
            "example": "seD4PfOuKoVMLkEZqohJ"
          },
          "name": {
            "type": "string",
            "description": "Full name of the contact",
            "example": "rubika deo"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id the contact belongs to",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "firstName": {
            "type": "string",
            "description": "First name of the contact",
            "example": "rubika"
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact",
            "example": "Deo"
          },
          "email": {
            "type": "string",
            "description": "Email address of the contact",
            "example": "rubika@deos.com"
          },
          "emailLowerCase": {
            "type": "string",
            "description": "Lowercase version of the contact email",
            "example": "rubika@deos.com"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the contact",
            "example": "Asia/Calcutta"
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the contact",
            "example": "DGS VolMAX"
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the contact",
            "example": "+18832327657"
          },
          "dnd": {
            "type": "boolean",
            "description": "Whether Do Not Disturb is enabled for the contact",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Contact type classification",
            "example": "lead"
          },
          "source": {
            "type": "string",
            "description": "Source from which the contact was created",
            "example": "public api"
          },
          "assignedTo": {
            "type": "string",
            "description": "User Id the contact is assigned to",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "address1": {
            "type": "string",
            "description": "Street address of the contact",
            "example": "3535 1st St N"
          },
          "city": {
            "type": "string",
            "description": "City of the contact",
            "example": "Birmingham"
          },
          "state": {
            "type": "string",
            "description": "State of the contact",
            "example": "AL"
          },
          "country": {
            "type": "string",
            "description": "Country of the contact",
            "example": "US"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the contact",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the contact",
            "example": "https://www.tesla.com"
          },
          "tags": {
            "description": "List of tags associated with the contact",
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth of the contact (YYYY-MM-DD)",
            "example": "1990-09-25"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time the contact was added (ISO 8601)",
            "example": "2021-07-02T05:18:26.704Z"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time the contact was last updated (ISO 8601)",
            "example": "2021-07-02T05:18:26.704Z"
          },
          "attachments": {
            "type": "string",
            "description": "List of attachment URLs associated with the contact",
            "example": []
          },
          "ssn": {
            "type": "string",
            "description": "Social Security Number (if applicable)",
            "example": "123-45-6789"
          },
          "keyword": {
            "type": "string",
            "description": "Search keyword associated with the contact",
            "example": "test"
          },
          "firstNameLowerCase": {
            "type": "string",
            "description": "Lowercase version of the contact first name",
            "example": "rubika"
          },
          "fullNameLowerCase": {
            "type": "string",
            "description": "Lowercase version of the contact full name",
            "example": "rubika deo"
          },
          "lastNameLowerCase": {
            "type": "string",
            "description": "Lowercase version of the contact last name",
            "example": "deo"
          },
          "lastActivity": {
            "type": "string",
            "description": "Date and time of last activity on this contact (ISO 8601)",
            "example": "2021-07-16T11:39:30.564Z"
          },
          "customFields": {
            "description": "List of custom field values for the contact",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "value": "My Text"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_CustomFieldSchema"
            }
          },
          "businessId": {
            "type": "string",
            "description": "Business Id the contact is associated with",
            "example": "641c094001436dbc2081e642"
          },
          "attributionSource": {
            "description": "First-touch attribution source details for the contact",
            "example": {
              "url": "Trigger Link",
              "campaign": "Summer Sale"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_AttributionSource"
              }
            ]
          },
          "lastAttributionSource": {
            "description": "Last-touch attribution source details for the contact",
            "example": {
              "url": "Organic Search",
              "campaign": "Brand Awareness"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_AttributionSource"
              }
            ]
          },
          "visitorId": {
            "type": "string",
            "description": "visitorId is the Unique ID assigned to each Live chat visitor.",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "dndSettings": {
            "description": "Per-channel DND settings for the contact",
            "example": {
              "call": {
                "status": "active",
                "message": "Do not call"
              },
              "email": {
                "status": "inactive"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingsSchemaV3"
              }
            ]
          }
        }
      },
      "contacts_v3_ContactsByIdSuccessfulResponseDtoV3": {
        "type": "object",
        "properties": {
          "contact": {
            "description": "Contact details",
            "example": {
              "id": "seD4PfOuKoVMLkEZqohJ",
              "name": "rubika deo",
              "firstName": "rubika",
              "lastName": "Deo",
              "email": "rubika@deos.com",
              "phone": "+18832327657",
              "locationId": "ve9EPM428h8vShlRW1KT"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_GetContactByIdSchemaV3"
              }
            ]
          }
        }
      },
      "contacts_v3_InboundDndSettingSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Inbound DND status for this channel",
            "enum": [
              "active",
              "inactive"
            ],
            "example": "active"
          },
          "message": {
            "type": "string",
            "description": "Custom message associated with the inbound DND setting",
            "example": "Please do not contact me via this channel"
          }
        },
        "required": [
          "status"
        ]
      },
      "contacts_v3_InboundDndSettingsSchema": {
        "type": "object",
        "properties": {
          "all": {
            "description": "Inbound DND settings applied to all channels",
            "example": {
              "status": "active",
              "message": "Do not contact me"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_InboundDndSettingSchema"
              }
            ]
          }
        }
      },
      "contacts_v3_CreateContactDtoV3": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the contact",
            "example": "Rosan",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact",
            "example": "Deo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Full name of the contact",
            "example": "Rosan Deo",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email address of the contact",
            "example": "rosan@deos.com",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "description": "Location Id the contact should be created under",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "gender": {
            "type": "string",
            "description": "Gender of the contact",
            "example": "male"
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the contact",
            "example": "+1 888-888-8888",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "description": "Street address of the contact",
            "example": "3535 1st St N",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City of the contact",
            "example": "Dolomite",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State of the contact",
            "example": "AL",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the contact",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the contact",
            "example": "https://www.tesla.com",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the contact",
            "example": "America/Chihuahua",
            "nullable": true
          },
          "dnd": {
            "type": "boolean",
            "description": "Whether Do Not Disturb is enabled for the contact",
            "example": true
          },
          "inboundDndSettings": {
            "description": "Inbound DND settings per channel for the contact",
            "example": {
              "all": {
                "status": "active",
                "message": "Do not contact me"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_InboundDndSettingsSchema"
              }
            ]
          },
          "tags": {
            "description": "List of tags to assign to the contact",
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customFields": {
            "type": "array",
            "description": "List of custom field values to assign to the contact",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "key": "my_custom_field",
                "fieldValue": "My Text"
              }
            ],
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/contacts_v3_TextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_LargeTextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_SingleSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_RadioField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_NumericField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_MonetoryField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_CheckboxField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_MultiSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_FileField"
                }
              ]
            }
          },
          "source": {
            "type": "string",
            "description": "Source from which the contact was created",
            "example": "public api"
          },
          "dateOfBirth": {
            "type": "object",
            "description": "The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY",
            "example": "1990-09-25",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country code of the contact (ISO 3166-1 alpha-2)",
            "example": "US"
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the contact",
            "example": "DGS VolMAX",
            "nullable": true
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id"
          },
          "dndSettings": {
            "description": "Per-channel DND settings for the contact",
            "example": {
              "call": {
                "status": "active",
                "message": "Do not call"
              },
              "email": {
                "status": "inactive"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingsSchemaV3"
              }
            ]
          }
        },
        "required": [
          "locationId"
        ]
      },
      "contacts_v3_CreateContactsSuccessfulResponseDtoV3": {
        "type": "object",
        "properties": {
          "contact": {
            "description": "Contact details",
            "example": {
              "id": "seD4PfOuKoVMLkEZqohJ",
              "name": "rubika deo",
              "firstName": "rubika",
              "lastName": "Deo",
              "email": "rubika@deos.com",
              "phone": "+18832327657",
              "locationId": "ve9EPM428h8vShlRW1KT"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_GetContactByIdSchemaV3"
              }
            ]
          }
        }
      },
      "contacts_v3_UpdateContactDtoV3": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the contact",
            "example": "rosan",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact",
            "example": "Deo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Full name of the contact",
            "example": "rosan Deo",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email address of the contact",
            "example": "rosan@deos.com",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the contact",
            "example": "+1 888-888-8888",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "description": "Street address of the contact",
            "example": "3535 1st St N",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City of the contact",
            "example": "Dolomite",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State of the contact",
            "example": "AL",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the contact",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the contact",
            "example": "https://www.tesla.com",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the contact",
            "example": "America/Chihuahua",
            "nullable": true
          },
          "dnd": {
            "type": "boolean",
            "description": "Whether Do Not Disturb is enabled for the contact",
            "example": true
          },
          "inboundDndSettings": {
            "description": "Inbound DND settings per channel for the contact",
            "example": {
              "all": {
                "status": "active",
                "message": "Do not contact me"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_InboundDndSettingsSchema"
              }
            ]
          },
          "tags": {
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "description": "This field will overwrite all current tags associated with the contact. To update a tags, it is recommended to use the Add Tag or Remove Tag API instead.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customFields": {
            "type": "array",
            "description": "List of custom field values to assign to the contact",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "key": "my_custom_field",
                "fieldValue": "My Text"
              }
            ],
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/contacts_v3_TextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_LargeTextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_SingleSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_RadioField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_NumericField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_MonetoryField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_CheckboxField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_MultiSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_FileField"
                }
              ]
            }
          },
          "source": {
            "type": "string",
            "description": "Source from which the contact was updated",
            "example": "public api",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "object",
            "description": "The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY",
            "example": "1990-09-25",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country code of the contact (ISO 3166-1 alpha-2), Refer country list from documentaion, documentation has list of all countries",
            "example": "US"
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id",
            "nullable": true
          },
          "dndSettings": {
            "description": "Per-channel DND settings for the contact",
            "example": {
              "call": {
                "status": "active",
                "message": "Do not call"
              },
              "email": {
                "status": "inactive"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingsSchemaV3"
              }
            ]
          }
        }
      },
      "contacts_v3_UpdateContactsSuccessfulResponseDtoV3": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether the update operation succeeded",
            "example": true
          },
          "contact": {
            "description": "Contact details",
            "example": {
              "id": "seD4PfOuKoVMLkEZqohJ",
              "name": "rubika deo",
              "email": "rubika@deos.com",
              "locationId": "ve9EPM428h8vShlRW1KT"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_GetContactByIdSchemaV3"
              }
            ]
          }
        }
      },
      "contacts_v3_UpsertContactDtoV3": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the contact",
            "example": "Rosan",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the contact",
            "example": "Deo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Full name of the contact",
            "example": "Rosan Deo",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email address of the contact",
            "example": "rosan@deos.com",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "description": "Location Id the contact should be created under",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "gender": {
            "type": "string",
            "description": "Gender of the contact",
            "example": "male"
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the contact",
            "example": "+1 888-888-8888",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "description": "Street address of the contact",
            "example": "3535 1st St N",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City of the contact",
            "example": "Dolomite",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State of the contact",
            "example": "AL",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the contact",
            "example": "35061"
          },
          "website": {
            "type": "string",
            "description": "Website URL of the contact",
            "example": "https://www.tesla.com",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the contact",
            "example": "America/Chihuahua",
            "nullable": true
          },
          "dnd": {
            "type": "boolean",
            "description": "Whether Do Not Disturb is enabled for the contact",
            "example": true
          },
          "inboundDndSettings": {
            "description": "Inbound DND settings per channel for the contact",
            "example": {
              "all": {
                "status": "active",
                "message": "Do not contact me"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_InboundDndSettingsSchema"
              }
            ]
          },
          "tags": {
            "description": "This field will overwrite all current tags associated with the contact. To update a tags, it is recommended to use the Add Tag or Remove Tag API instead.",
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customFields": {
            "type": "array",
            "description": "List of custom field values to assign to the contact",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "key": "my_custom_field",
                "fieldValue": "My Text"
              }
            ],
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/contacts_v3_TextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_LargeTextField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_SingleSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_RadioField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_NumericField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_MonetoryField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_CheckboxField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_MultiSelectField"
                },
                {
                  "$ref": "#/components/schemas/contacts_v3_FileField"
                }
              ]
            }
          },
          "source": {
            "type": "string",
            "description": "Source from which the contact was created",
            "example": "public api"
          },
          "dateOfBirth": {
            "type": "object",
            "description": "The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY",
            "example": "1990-09-25",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country code of the contact (ISO 3166-1 alpha-2)",
            "example": "US"
          },
          "companyName": {
            "type": "string",
            "description": "Company name of the contact",
            "example": "DGS VolMAX",
            "nullable": true
          },
          "assignedTo": {
            "type": "string",
            "example": "y0BeYjuRIlDwsDcOHOJo",
            "description": "User's Id"
          },
          "createNewIfDuplicateAllowed": {
            "type": "boolean",
            "description": "Controls whether to create a new contact or update an existing duplicate. **Scenario 1:** If this value is `true` and the location allows duplicate contacts, a new contact will be created immediately without checking for duplicates. **Scenario 2:** If this value is `true` but the location does not allow duplicate contacts, this field is ignored and the normal upsert behavior applies: the API will search for an existing duplicate contact, update it if found, or create a new contact if not found. **Scenario 3:** If this value is `false` or not provided, the normal upsert behavior applies regardless of the location's duplicate contact setting.",
            "example": false,
            "default": false
          },
          "dndSettings": {
            "description": "Per-channel DND settings for the contact",
            "example": {
              "call": {
                "status": "active",
                "message": "Do not call"
              },
              "email": {
                "status": "inactive"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_DndSettingsSchemaV3"
              }
            ]
          }
        },
        "required": [
          "locationId"
        ]
      },
      "contacts_v3_UpsertContactsSuccessfulResponseDtoV3": {
        "type": "object",
        "properties": {
          "new": {
            "type": "boolean",
            "description": "Whether a new contact was created (true) or an existing one was updated (false)",
            "example": true
          },
          "contact": {
            "description": "Contact details",
            "example": {
              "id": "seD4PfOuKoVMLkEZqohJ",
              "name": "rubika deo",
              "email": "rubika@deos.com",
              "locationId": "ve9EPM428h8vShlRW1KT"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/contacts_v3_GetContactByIdSchemaV3"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Unique trace identifier for this operation",
            "example": "abc123trace"
          }
        }
      },
      "contacts_v3_ContactsSearchSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the contact",
            "example": "ocQHyuzHvysMo5N5VsXc"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id the contact belongs to",
            "example": "C2QujeCh8ZnC7al2InWR"
          },
          "email": {
            "type": "string",
            "description": "Email address of the contact",
            "example": "JohnDeo@gmail.com"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone of the contact",
            "example": "Asia/Calcutta"
          },
          "country": {
            "type": "string",
            "description": "Country of the contact",
            "example": "DE"
          },
          "source": {
            "type": "string",
            "description": "Source from which the contact was created",
            "example": "xyz form"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time the contact was added (ISO 8601)",
            "example": "2020-10-29T09:31:30.255Z"
          },
          "customFields": {
            "description": "List of custom field values for the contact",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "value": "My Text"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_CustomFieldSchema"
            }
          },
          "tags": {
            "description": "List of tags associated with the contact",
            "example": [
              "nisi sint commodo amet",
              "consequat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "businessId": {
            "type": "string",
            "description": "Business Id the contact is associated with",
            "example": "641c094001436dbc2081e642"
          },
          "attributions": {
            "description": "List of attribution sources for the contact",
            "example": [
              {
                "url": "Trigger Link",
                "campaign": "Summer Sale"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_AttributionSource"
            }
          },
          "followers": {
            "description": "List of user Ids following this contact",
            "example": [
              "641c094001436dbc2081e642"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_v3_ContactsMetaSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 50
          },
          "nextPageUrl": {
            "type": "string",
            "example": "http://localhost:5058/contacts/?locationId=ve9EPM428h8vShlRW1KT&startAfter=1631087949919&startAfterId=yd0jdjOavGk2o6Nh5Ndb"
          },
          "startAfterId": {
            "type": "string",
            "example": "yd0jdjOavGk2o6Nh5Ndb"
          },
          "startAfter": {
            "type": "number",
            "example": 1631087949919
          },
          "currentPage": {
            "type": "number",
            "example": 2
          },
          "nextPage": {
            "type": "number",
            "example": 3
          },
          "prevPage": {
            "type": "number",
            "example": 1,
            "nullable": true
          }
        }
      },
      "contacts_v3_ContactsSearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "contacts": {
            "description": "List of contacts associated with the business",
            "example": [
              {
                "id": "ocQHyuzHvysMo5N5VsXc",
                "locationId": "C2QujeCh8ZnC7al2InWR",
                "email": "JohnDeo@gmail.com",
                "country": "DE",
                "source": "xyz form",
                "dateAdded": "2020-10-29T09:31:30.255Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contacts_v3_ContactsSearchSchema"
            }
          },
          "count": {
            "type": "number",
            "description": "Total number of contacts matching the query",
            "example": 10
          }
        }
      },
      "contacts_v3_FollowersDTO": {
        "type": "object",
        "properties": {
          "followers": {
            "description": "List of user Ids to follow or unfollow the contact",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "followers"
        ]
      },
      "contacts_v3_CreateAddFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "description": "Current followers after the operation",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersAdded": {
            "description": "Followers that were added",
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_v3_DeleteFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "description": "Current followers after the operation",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersRemoved": {
            "description": "Followers that were removed",
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "contacts_v3_AddContactToCampaignDto": {
        "type": "object",
        "properties": {}
      },
      "contacts_v3_CreateDeleteCantactsCampaignsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether the campaign operation was successful",
            "example": true
          },
          "succeded": {
            "type": "boolean",
            "description": "Legacy misspelling of `succeeded`. Deprecated; use `succeeded`.",
            "example": true,
            "deprecated": true
          }
        }
      },
      "contacts_v3_CreateWorkflowDto": {
        "type": "object",
        "properties": {
          "eventStartTime": {
            "type": "string",
            "description": "Start time of the workflow event (ISO 8601 format)",
            "example": "2021-06-23T03:30:00+01:00"
          }
        }
      },
      "contacts_v3_ContactsWorkflowSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether the workflow operation was successful",
            "example": true
          },
          "succeded": {
            "type": "boolean",
            "description": "Legacy misspelling of `succeeded`. Deprecated; use `succeeded`.",
            "example": true,
            "deprecated": true
          }
        }
      },
      "conversation_ai_v3_triggerWorkflowDto": {
        "type": "object",
        "properties": {
          "workflowIds": {
            "example": [
              "workflow123",
              "workflow456"
            ],
            "description": "Array of workflow IDs to trigger",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "triggerCondition": {
            "type": "string",
            "example": "When user requests appointment",
            "description": "Condition that triggers the workflow"
          },
          "triggerMessage": {
            "type": "string",
            "example": "Workflow triggered successfully",
            "description": "Optional message to send when triggering the workflow"
          }
        },
        "required": [
          "workflowIds",
          "triggerCondition"
        ]
      },
      "conversation_ai_v3_updateContactFieldDto": {
        "type": "object",
        "properties": {
          "contactFieldId": {
            "type": "string",
            "example": "123",
            "description": "ID of the contact field in Contacts Table"
          },
          "description": {
            "type": "string",
            "example": "Business Name",
            "description": "Description of the contact field in Contacts Table"
          },
          "contactUpdateExamples": {
            "example": [
              "Example 1"
            ],
            "default": [],
            "description": "Contact update examples in Contacts Table. Not required when using standard fields, Monetory or Date Custom fields.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "contactFieldId",
          "description"
        ]
      },
      "conversation_ai_v3_appointmentBookingDto": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "example": "action123",
            "description": "Optional action ID reference"
          },
          "calendarId": {
            "type": "string",
            "example": "calendar123",
            "description": "Calendar ID for appointment booking"
          },
          "onlySendLink": {
            "type": "boolean",
            "example": false,
            "description": "If true, only sends the appointment link without booking"
          },
          "triggerWorkflow": {
            "type": "boolean",
            "example": true,
            "description": "Whether to trigger a workflow after booking (cannot be true when onlySendLink is true)"
          },
          "workflowIds": {
            "example": [
              "workflow123"
            ],
            "description": "Workflow IDs to trigger after booking (required when triggerWorkflow is true)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sleepAfterBooking": {
            "type": "boolean",
            "example": true,
            "description": "Whether to put the agent to sleep after booking (cannot be true when onlySendLink is true)"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Unit for sleep time (required when sleepAfterBooking is true)"
          },
          "sleepTime": {
            "type": "number",
            "example": 24,
            "description": "Sleep duration (required when sleepAfterBooking is true)"
          },
          "transferBot": {
            "type": "boolean",
            "example": false,
            "description": "Whether to transfer to another agent after booking (cannot be true when onlySendLink is true)"
          },
          "transferAgent": {
            "type": "string",
            "example": "employee456",
            "description": "Agent ID to transfer to (required when transferBot is true)"
          },
          "rescheduleEnabled": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Whether to allow appointment rescheduling (cannot be true when onlySendLink is true)"
          },
          "cancelEnabled": {
            "type": "boolean",
            "default": false,
            "example": true,
            "description": "Whether to allow appointment cancellation (cannot be true when onlySendLink is true)"
          }
        },
        "required": [
          "calendarId",
          "onlySendLink",
          "triggerWorkflow",
          "sleepAfterBooking",
          "transferBot",
          "rescheduleEnabled",
          "cancelEnabled"
        ]
      },
      "conversation_ai_v3_stopBotDto": {
        "type": "object",
        "properties": {
          "stopBotDetectionType": {
            "type": "string",
            "enum": [
              "Goodbye",
              "Custom"
            ],
            "example": "Custom",
            "description": "Type of stop bot detection - Goodbye or Custom"
          },
          "stopBotTriggerCondition": {
            "type": "string",
            "example": "When the user says they no longer need assistance or want to end the conversation",
            "description": "Condition that triggers stopping the bot"
          },
          "reactivateEnabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the bot can be reactivated after being stopped"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Time unit for reactivation delay (required when reactivateEnabled is true)"
          },
          "sleepTime": {
            "type": "number",
            "example": 24,
            "description": "Time duration before reactivation (required when reactivateEnabled is true)"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether this action is enabled for the agent"
          },
          "stopBotExamples": {
            "example": [
              "goodbye",
              "thank you",
              "no more questions"
            ],
            "description": "Example phrases that trigger stop bot action (minimum 2 required)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "finalMessage": {
            "type": "string",
            "example": "Thank you for contacting us. Have a great day!",
            "description": "Final message sent when stopping the bot"
          },
          "tags": {
            "example": [
              "resolved",
              "no-response"
            ],
            "description": "Tags to apply when stopping the bot",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "stopBotDetectionType",
          "stopBotTriggerCondition",
          "reactivateEnabled",
          "enabled",
          "stopBotExamples",
          "finalMessage"
        ]
      },
      "conversation_ai_v3_humanHandOverDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether human handover action is enabled"
          },
          "triggerCondition": {
            "type": "string",
            "example": "When the user requests to speak with a human agent or expresses frustration",
            "description": "Condition that triggers human handover"
          },
          "examples": {
            "example": [
              "speak to human",
              "talk to agent",
              "need help from person"
            ],
            "description": "Example phrases that trigger human handover (required when handoverType is custom or contactRequest)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "assignToUserId": {
            "type": "string",
            "example": "user123",
            "description": "ID of the user to assign the conversation to"
          },
          "skipAssignToUser": {
            "type": "boolean",
            "example": false,
            "description": "Whether to skip assigning to a specific user"
          },
          "createTask": {
            "type": "boolean",
            "example": true,
            "description": "Whether to create a task when handing over"
          },
          "reactivateEnabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the agent can be reactivated after handover"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Time unit for reactivation delay (required when reactivateEnabled is true)"
          },
          "sleepTime": {
            "type": "number",
            "example": 24,
            "description": "Time duration before reactivation (required when reactivateEnabled is true)"
          },
          "finalMessage": {
            "type": "string",
            "example": "I am transferring you to a human agent who will assist you shortly.",
            "description": "Final message sent when handing over to human"
          },
          "tags": {
            "example": [
              "escalated",
              "human-requested"
            ],
            "description": "Tags to apply during handover",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "handoverType": {
            "type": "string",
            "enum": [
              "contactRequest",
              "lackOfInformation",
              "failedToResolveIssue",
              "custom"
            ],
            "example": "contactRequest",
            "description": "Type of human handover detection"
          }
        },
        "required": [
          "enabled",
          "triggerCondition",
          "reactivateEnabled",
          "finalMessage",
          "handoverType"
        ]
      },
      "conversation_ai_v3_FollowupSequence": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1,
            "description": "Unique identifier for this followup step"
          },
          "followupTimeUnit": {
            "type": "string",
            "enum": [
              "days",
              "hours",
              "minutes"
            ],
            "example": "hours",
            "description": "Time unit for followup delay"
          },
          "followupTime": {
            "type": "number",
            "example": 2,
            "description": "Time duration before followup (max: 60 minutes, 24 hours, or 180 days depending on unit)"
          },
          "aiEnabledMessage": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether to use AI to generate the followup message"
          },
          "triggerWorkflow": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether to trigger a workflow during this followup"
          },
          "customMessage": {
            "type": "string",
            "example": "Hi! Just following up on our previous conversation. Do you have any questions?",
            "description": "Custom message to send (when aiEnabledMessage is false)"
          },
          "workflowId": {
            "type": "string",
            "example": "workflow789",
            "description": "Workflow ID to trigger (when triggerWorkflow is true)"
          },
          "contactRequested": {
            "type": "boolean",
            "example": false,
            "description": "Whether contact was requested in this followup"
          }
        },
        "required": [
          "id",
          "followupTimeUnit",
          "followupTime"
        ]
      },
      "conversation_ai_v3_Interval": {
        "type": "object",
        "properties": {
          "startHour": {
            "type": "number",
            "example": 9,
            "description": "Start hour (24-hour format)"
          },
          "startMinute": {
            "type": "number",
            "example": 0,
            "description": "Start minute"
          },
          "endHour": {
            "type": "number",
            "example": 17,
            "description": "End hour (24-hour format)"
          },
          "endMinute": {
            "type": "number",
            "example": 30,
            "description": "End minute"
          }
        },
        "required": [
          "startHour",
          "startMinute",
          "endHour",
          "endMinute"
        ]
      },
      "conversation_ai_v3_WorkingHours": {
        "type": "object",
        "properties": {
          "dayOfTheWeek": {
            "type": "number",
            "example": 1,
            "description": "Day of the week (0=Sunday, 1=Monday, etc.)"
          },
          "intervals": {
            "description": "Time intervals for this day",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_v3_Interval"
            }
          }
        },
        "required": [
          "dayOfTheWeek"
        ]
      },
      "conversation_ai_v3_FollowupSettings": {
        "type": "object",
        "properties": {
          "dynamicChannelSwitching": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether to dynamically switch channels for followups"
          },
          "followUpHours": {
            "type": "boolean",
            "example": true,
            "description": "Whether to respect working hours for followups"
          },
          "workingHours": {
            "description": "Working hours configuration for followups",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_v3_WorkingHours"
            }
          },
          "timezoneToUse": {
            "type": "string",
            "enum": [
              "contact",
              "business"
            ],
            "description": "Timezone to use for followups, contact or location"
          }
        },
        "required": [
          "dynamicChannelSwitching"
        ]
      },
      "conversation_ai_v3_advancedFollowupDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether advanced followup is enabled"
          },
          "scenarioId": {
            "type": "string",
            "example": "contactIsBusy",
            "enum": [
              "contactStoppedReplying",
              "contactIsBusy",
              "contactRequested"
            ],
            "description": "ID of the followup scenario"
          },
          "followupSequence": {
            "description": "Sequence of followup actions to perform",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_v3_FollowupSequence"
            }
          },
          "followupSettings": {
            "description": "Additional settings for followup behavior",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_FollowupSettings"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "scenarioId",
          "followupSequence"
        ]
      },
      "conversation_ai_v3_transferBotDto": {
        "type": "object",
        "properties": {
          "transferBotType": {
            "type": "string",
            "enum": [
              "Default",
              "Custom"
            ],
            "example": "Custom",
            "description": "Type of transfer - Default or Custom"
          },
          "transferToBot": {
            "type": "string",
            "example": "employee789",
            "description": "ID of the bot/agent to transfer to"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether this transfer action is enabled"
          },
          "transferBotTriggerCondition": {
            "type": "string",
            "example": "When the user asks to speak with sales or needs pricing information",
            "description": "Condition that triggers the transfer (required for Custom type)"
          },
          "transferBotExamples": {
            "example": [
              "talk to sales",
              "pricing information",
              "speak to specialist"
            ],
            "description": "Example phrases that trigger transfer (required for Custom type, minimum 2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "transferBotType",
          "transferToBot",
          "enabled"
        ]
      },
      "conversation_ai_v3_CreateActionDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "triggerWorkflow",
            "enum": [
              "triggerWorkflow",
              "updateContactField",
              "appointmentBooking",
              "stopBot",
              "humanHandOver",
              "advancedFollowup",
              "transferBot"
            ]
          },
          "name": {
            "type": "string",
            "example": "Trigger a Workflow"
          },
          "details": {
            "description": "Action-specific details. The structure depends on the action type. For TRIGGER_WORKFLOW use triggerWorkflowDto, for UPDATE_CONTACT_FIELD use updateContactFieldDto, for APPOINTMENT_BOOKING use appointmentBookingDto, for STOP_BOT use stopBotDto, for HUMAN_HAND_OVER use humanHandOverDto, for ADVANCED_FOLLOWUP use advancedFollowupDto, and for TRANSFER_BOT use transferBotDto.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_triggerWorkflowDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_updateContactFieldDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_appointmentBookingDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_stopBotDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_humanHandOverDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_advancedFollowupDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_transferBotDto"
              }
            ]
          }
        },
        "required": [
          "type",
          "name",
          "details"
        ]
      },
      "conversation_ai_v3_ActionDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "actionId123",
            "description": "Unique identifier for the action"
          },
          "name": {
            "type": "string",
            "example": "Trigger Workflow",
            "description": "Name of the action"
          },
          "type": {
            "type": "string",
            "enum": [
              "triggerWorkflow",
              "updateContactField",
              "appointmentBooking",
              "stopBot",
              "humanHandOver",
              "advancedFollowup",
              "transferBot"
            ],
            "example": "triggerWorkflow",
            "description": "Type of the action"
          },
          "agentId": {
            "type": "string",
            "example": "agentId123",
            "description": "Agent ID where the action belongs"
          },
          "details": {
            "description": "Action-specific details. The structure depends on the action type. For TRIGGER_WORKFLOW use triggerWorkflowDto, for UPDATE_CONTACT_FIELD use updateContactFieldDto, for APPOINTMENT_BOOKING use appointmentBookingDto, for STOP_BOT use stopBotDto, for HUMAN_HAND_OVER use humanHandOverDto, for ADVANCED_FOLLOWUP use advancedFollowupDto, and for TRANSFER_BOT use transferBotDto.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_triggerWorkflowDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_updateContactFieldDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_appointmentBookingDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_stopBotDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_humanHandOverDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_advancedFollowupDto"
              },
              {
                "$ref": "#/components/schemas/conversation_ai_v3_transferBotDto"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "details"
        ]
      },
      "conversation_ai_v3_createActionResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Created action details",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_ActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_v3_fetchActionsForEmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Grouped actions by type",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_v3_ActionDataDTO"
            }
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_v3_fetchActionDetailsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Action details",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_ActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_v3_updateActionResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Updated action details",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_ActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_v3_DeleteActionDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "actionId123",
            "description": "ID of the deleted action"
          }
        },
        "required": [
          "id"
        ]
      },
      "conversation_ai_v3_deleteActionResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Deleted action information",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversation_ai_v3_DeleteActionDataDTO"
              }
            ]
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success status of the request"
          }
        },
        "required": [
          "data",
          "success"
        ]
      },
      "conversation_ai_v3_UpdateFollowupSettingsDTO": {
        "type": "object",
        "properties": {
          "actionIds": {
            "example": [
              "edxcfghbnjkimd"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followupSettings": {
            "$ref": "#/components/schemas/conversation_ai_v3_FollowupSettings"
          }
        },
        "required": [
          "actionIds",
          "followupSettings"
        ]
      },
      "conversation_ai_v3_CreateEmployeeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "example": "auto-pilot",
            "default": "off",
            "description": "Mode of operation - OFF, SUGGESTIVE, or AUTO_PILOT"
          },
          "channels": {
            "type": "array",
            "example": [
              "SMS",
              "Live_Chat",
              "WhatsApp"
            ],
            "description": "Communication channels the agent can operate on",
            "items": {
              "type": "string",
              "enum": [
                "IG",
                "FB",
                "SMS",
                "WebChat",
                "WhatsApp",
                "Live_Chat"
              ]
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Indicates if this agent is a primary agent."
          },
          "waitTime": {
            "type": "number",
            "example": 2,
            "default": 2,
            "description": "Wait time before agent responds (max 5 for minutes, 300 for seconds)"
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "default": "seconds",
            "description": "Unit for wait time - SECONDS or MINUTES"
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 2,
            "description": "Duration of sleep period (required if sleepEnabled is true). Set to null for indefinite sleep. (max 2880 for minutes, 172800 for seconds, 48 for hours)"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "example": "hours",
            "description": "Unit of sleep time - HOURS, MINUTES, or SECONDS (required if sleepEnabled is true). Set to null for indefinite sleep."
          },
          "personality": {
            "type": "string",
            "example": "Friendly and helpful",
            "description": "Personality traits of the agent."
          },
          "goal": {
            "type": "string",
            "example": "Assist customers with inquiries.",
            "description": "The goal of the agent."
          },
          "instructions": {
            "type": "string",
            "example": "Provide  customer service.",
            "description": "Instructions for the agent."
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "example": 75,
            "default": 75,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention. (max: 100, min: 1)"
          },
          "knowledgeBaseIds": {
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "respondToImages": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to images"
          },
          "respondToAudio": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to audio"
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a manual outbound message is sent."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a workflow outbound message is sent."
          }
        },
        "required": [
          "name",
          "personality",
          "goal",
          "instructions"
        ]
      },
      "conversation_ai_v3_ActionsIdDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "actionId123",
            "description": "Unique identifier for the action."
          },
          "type": {
            "type": "string",
            "example": "triggerWorkflow",
            "description": "type of action.",
            "enum": [
              "triggerWorkflow",
              "updateContactField",
              "appointmentBooking",
              "stopBot",
              "humanHandOver",
              "advancedFollowup",
              "transferBot"
            ]
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "conversation_ai_v3_EmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "emp_123",
            "description": "Unique identifier for the agent."
          },
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "example": "auto-pilot",
            "description": "Current operating mode of the agent."
          },
          "channels": {
            "type": "array",
            "example": [
              "SMS",
              "Live_Chat"
            ],
            "description": "Communication channels the agent operates on.",
            "items": {
              "type": "string",
              "enum": [
                "IG",
                "FB",
                "SMS",
                "WebChat",
                "WhatsApp",
                "Live_Chat"
              ]
            }
          },
          "waitTime": {
            "type": "number",
            "example": 30,
            "description": "Wait time before agent responds."
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "description": "Unit for wait time."
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 2,
            "description": "Duration of sleep period."
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "example": "hours",
            "description": "Unit of sleep time."
          },
          "actions": {
            "description": "List of actions associated with this agent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_v3_ActionsIdDto"
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if this agent is a primary agent."
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "example": 25,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention."
          },
          "goal": {
            "type": "string",
            "example": "Assist customers with inquiries",
            "description": "The goal of the agent."
          },
          "personality": {
            "type": "string",
            "example": "Friendly and helpful",
            "description": "Personality traits of the agent."
          },
          "instructions": {
            "type": "string",
            "example": "Provide excellent customer service",
            "description": "Instructions for the agent."
          },
          "knowledgeBaseIds": {
            "example": [
              "kb_123",
              "kb_456"
            ],
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on manual outbound messages."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on workflow outbound messages."
          }
        },
        "required": [
          "id",
          "name",
          "mode",
          "channels",
          "waitTime",
          "waitTimeUnit",
          "sleepEnabled",
          "actions",
          "isPrimary",
          "autoPilotMaxMessages"
        ]
      },
      "conversation_ai_v3_EmployeeListItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "emp_123",
            "description": "Unique identifier for the agent."
          },
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "example": "auto-pilot",
            "description": "Current operating mode of the agent."
          },
          "channels": {
            "example": [
              "SMS",
              "LIVE_CHAT"
            ],
            "description": "Communication channels the agent operates on.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "waitTime": {
            "type": "number",
            "example": 30,
            "description": "Wait time before agent responds."
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "description": "Unit for wait time."
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 2,
            "description": "Duration of sleep period."
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "example": "hours",
            "description": "Unit of sleep time."
          },
          "actions": {
            "example": [
              {
                "id": "action_123",
                "type": "triggerWorkflow"
              }
            ],
            "description": "List of actions associated with this agent.",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if this agent is a primary agent. (First agent created for a location is primary by default)"
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "example": 25,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention."
          },
          "goal": {
            "type": "object",
            "example": {
              "prompt": "Assist customers",
              "type": "custom",
              "actionId": null
            },
            "description": "Goal configuration for the agent."
          },
          "knowledgeBaseIds": {
            "example": [
              "kb_123",
              "kb_456"
            ],
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "example": "2024-01-01T00:00:00Z",
            "description": "Timestamp when the agent was created."
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-01-01T00:00:00Z",
            "description": "Timestamp when the agent was last updated."
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on manual outbound messages."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Whether the bot sleeps on workflow outbound messages."
          }
        },
        "required": [
          "id",
          "name",
          "mode",
          "channels",
          "waitTime",
          "waitTimeUnit",
          "sleepEnabled",
          "actions",
          "isPrimary",
          "autoPilotMaxMessages",
          "createdAt",
          "updatedAt"
        ]
      },
      "conversation_ai_v3_SearchEmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "agents": {
            "description": "List of agents matching the search criteria.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversation_ai_v3_EmployeeListItemDTO"
            }
          },
          "totalCount": {
            "type": "number",
            "example": 100,
            "description": "Total number of agents in the location (unfiltered count)."
          },
          "count": {
            "type": "number",
            "example": 25,
            "description": "Number of agents in the current response (filtered/paginated count)."
          }
        },
        "required": [
          "agents",
          "totalCount",
          "count"
        ]
      },
      "conversation_ai_v3_UpdateEmployeeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "John Doe",
            "description": "Name of the agent."
          },
          "businessName": {
            "type": "string",
            "example": "Tech Corp",
            "description": "Name of the business the agent represents."
          },
          "mode": {
            "type": "string",
            "enum": [
              "off",
              "suggestive",
              "auto-pilot"
            ],
            "description": "Mode of operation for the agent, required if primary is enabled."
          },
          "channels": {
            "type": "array",
            "description": "Channels the agent can use.",
            "items": {
              "type": "string",
              "enum": [
                "IG",
                "FB",
                "SMS",
                "WebChat",
                "WhatsApp",
                "Live_Chat"
              ]
            }
          },
          "isPrimary": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if this agent is a primary agent."
          },
          "waitTime": {
            "type": "number",
            "example": 30,
            "description": "Wait time before agent responds (max 5 for minutes, 300 for seconds)."
          },
          "waitTimeUnit": {
            "type": "string",
            "enum": [
              "minutes",
              "seconds"
            ],
            "example": "seconds",
            "description": "Unit for wait time - SECONDS or MINUTES"
          },
          "sleepEnabled": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if sleep functionality is enabled.",
            "deprecated": true
          },
          "sleepTime": {
            "type": "number",
            "example": 10,
            "description": "Duration of sleep period (required if sleepEnabled is true). Set to null for indefinite sleep. (max 2880 for minutes, 172800 for seconds, 48 for hours)"
          },
          "sleepTimeUnit": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ],
            "description": "Unit of sleep time - HOURS, MINUTES, or SECONDS (required if sleepEnabled is true). Set to null for indefinite sleep."
          },
          "personality": {
            "type": "string",
            "example": "You re an AI assistant and you are friendly and helpful",
            "description": "Personality traits of the agent."
          },
          "goal": {
            "type": "string",
            "example": "You are an AI assistant and you are helping customers with inquiries.",
            "description": "The goal of the agent."
          },
          "instructions": {
            "type": "string",
            "example": "Provide excellent customer service.",
            "description": "Instructions for the agent."
          },
          "autoPilotMaxMessages": {
            "type": "number",
            "default": 75,
            "description": "Maximum number of messages in auto-pilot mode before requiring human intervention. (max: 100, min: 1)"
          },
          "knowledgeBaseIds": {
            "description": "Array of knowledge base IDs associated with this agent.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "respondToImages": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to images"
          },
          "respondToAudio": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Allow agent to respond to audio"
          },
          "sleepOnManualMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a manual outbound message is sent."
          },
          "sleepOnWorkflowMessage": {
            "type": "boolean",
            "example": false,
            "description": "Enable sleep when a workflow outbound message is sent."
          }
        },
        "required": [
          "autoPilotMaxMessages"
        ]
      },
      "conversation_ai_v3_DeleteEmployeeResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the agent was deleted successfully."
          },
          "id": {
            "type": "string",
            "example": "emp_123",
            "description": "Unique identifier of the deleted agent."
          }
        },
        "required": [
          "success",
          "id"
        ]
      },
      "conversation_ai_v3_FetchAIResponseDetailsResponseDTO": {
        "type": "object",
        "properties": {
          "prompt": {
            "type": "string",
            "description": "The complete prompt used for the AI response.",
            "example": "Personality:\nFriendly and professional,\n\nIntent:\nAssist customers with inquiries\n\nAdditional Information:\nHandle basic support queries"
          },
          "intent": {
            "type": "string",
            "description": "The intent/goal extracted from location prompt.",
            "example": "Assist customers with product inquiries and support"
          },
          "responseMessage": {
            "type": "string",
            "description": "The response message generated by the AI.",
            "example": "Hello! I understand you're interested in our products. How can I assist you today?"
          },
          "faqs": {
            "type": "array",
            "description": "FAQ chunks used in generating the response from fine-tuned data.",
            "example": [
              {
                "id": "chunk_123",
                "content": "Our return policy allows returns within 30 days of purchase.",
                "title": "Return Policy FAQ"
              }
            ]
          },
          "website": {
            "type": "array",
            "description": "Website content chunks used in generating the response.",
            "example": [
              {
                "id": "chunk_456",
                "content": "We offer free shipping on orders over $50.",
                "url": "https://example.com/shipping"
              }
            ]
          },
          "agentId": {
            "type": "string",
            "description": "ID of the employee/agent that generated the response.",
            "example": "emp_123"
          },
          "input": {
            "type": "string",
            "description": "The original input message that triggered this response.",
            "example": "What is your return policy?"
          },
          "actionLogs": {
            "type": "array",
            "description": "List of actions taken during this interaction.",
            "example": [
              {
                "contactUpdateAction": [
                  {
                    "fieldId": "field_123",
                    "value": "John Doe"
                  }
                ]
              }
            ]
          },
          "history": {
            "type": "array",
            "description": "Conversation history leading up to this response.",
            "example": [
              {
                "role": "user",
                "content": "Hi, I have a question about returns"
              },
              {
                "role": "assistant",
                "content": "I'll be happy to help you with information about our return policy."
              }
            ]
          },
          "mode": {
            "type": "string",
            "description": "Mode of operation during this interaction.",
            "example": "auto-pilot"
          }
        },
        "required": [
          "prompt",
          "responseMessage",
          "actionLogs",
          "history"
        ]
      },
      "conversations_v3_StartAfterNumberSchema": {
        "type": "object",
        "properties": {
          "startAfterDate": {
            "type": "number",
            "description": "Search to begin after the specified date - should contain the sort value of the last document",
            "example": 1600854
          }
        }
      },
      "conversations_v3_StartAfterArrayNumberSchema": {
        "type": "object",
        "properties": {
          "startAfterDate": {
            "description": "Search to begin after the specified date - should contain the sort value of the last document",
            "example": [
              1600854,
              1600851
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "conversations_v3_ConversationSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ABCHkzuJQ8ZMd4Te84GK"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "ABCHkzuJQ8ZMd4Te84GK"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ABCHkzuJQ8ZMd4Te84GK"
          },
          "lastMessageBody": {
            "type": "string",
            "description": "Content of the most recent message in the conversation",
            "example": "This is a sample message body"
          },
          "lastMessageType": {
            "type": "string",
            "description": "Channel/type of the most recent message (SMS, Email, Call, etc)",
            "example": "TYPE_SMS",
            "enum": [
              "TYPE_CALL",
              "TYPE_SMS",
              "TYPE_RCS",
              "TYPE_EMAIL",
              "TYPE_SMS_REVIEW_REQUEST",
              "TYPE_WEBCHAT",
              "TYPE_SMS_NO_SHOW_REQUEST",
              "TYPE_CAMPAIGN_SMS",
              "TYPE_CAMPAIGN_CALL",
              "TYPE_CAMPAIGN_EMAIL",
              "TYPE_CAMPAIGN_VOICEMAIL",
              "TYPE_FACEBOOK",
              "TYPE_CAMPAIGN_FACEBOOK",
              "TYPE_CAMPAIGN_MANUAL_CALL",
              "TYPE_CAMPAIGN_MANUAL_SMS",
              "TYPE_GMB",
              "TYPE_CAMPAIGN_GMB",
              "TYPE_REVIEW",
              "TYPE_INSTAGRAM",
              "TYPE_WHATSAPP",
              "TYPE_CUSTOM_SMS",
              "TYPE_CUSTOM_EMAIL",
              "TYPE_CUSTOM_PROVIDER_SMS",
              "TYPE_CUSTOM_PROVIDER_EMAIL",
              "TYPE_IVR_CALL",
              "TYPE_ACTIVITY_CONTACT",
              "TYPE_ACTIVITY_INVOICE",
              "TYPE_ACTIVITY_PAYMENT",
              "TYPE_ACTIVITY_OPPORTUNITY",
              "TYPE_LIVE_CHAT",
              "TYPE_LIVE_CHAT_INFO_MESSAGE",
              "TYPE_ACTIVITY_APPOINTMENT",
              "TYPE_FACEBOOK_COMMENT",
              "TYPE_INSTAGRAM_COMMENT",
              "TYPE_CUSTOM_CALL",
              "TYPE_INTERNAL_COMMENT",
              "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
              "TYPE_TIKTOK",
              "TYPE_TIKTOK_COMMENT",
              "TYPE_ACTIVITY_WHATSAPP",
              "TYPE_FORM_SUBMISSION",
              "TYPE_SMS_REACTION"
            ]
          },
          "type": {
            "type": "string",
            "description": "Primary channel/type of the conversation (Phone, Email, etc)",
            "example": "TYPE_PHONE",
            "enum": [
              "TYPE_PHONE",
              "TYPE_EMAIL",
              "TYPE_FB_MESSENGER",
              "TYPE_REVIEW",
              "TYPE_GROUP_SMS"
            ]
          },
          "unreadCount": {
            "type": "number",
            "description": "Number of unread messages in this conversation",
            "example": 1
          },
          "fullName": {
            "type": "string",
            "description": "Complete name of the contact (first and last name)",
            "example": "John Doe"
          },
          "contactName": {
            "type": "string",
            "description": "Alternative display name for the contact - used when full name is not available",
            "example": "John Doe Company"
          },
          "email": {
            "type": "string",
            "description": "Primary email address of the contact",
            "example": "johndoe@mailingdomain.com"
          },
          "phone": {
            "type": "string",
            "description": "Primary phone number of the contact",
            "example": "+15550001234"
          }
        },
        "required": [
          "id",
          "contactId",
          "locationId",
          "lastMessageBody",
          "lastMessageType",
          "type",
          "unreadCount",
          "fullName",
          "contactName",
          "email",
          "phone"
        ]
      },
      "conversations_v3_SendConversationResponseDto": {
        "type": "object",
        "properties": {
          "conversations": {
            "description": "The list of all conversations found for the given query",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversations_v3_ConversationSchema"
            },
            "example": []
          },
          "total": {
            "type": "number",
            "description": "Total Number of results found for the given query",
            "example": 100
          }
        },
        "required": [
          "conversations",
          "total"
        ]
      },
      "conversations_v3_CreateConversationDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          }
        },
        "required": [
          "locationId",
          "contactId"
        ]
      },
      "conversations_v3_ConversationCreateResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the conversation",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date when the conversation was last updated",
            "example": "2023-10-01T12:00:00Z"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date when the conversation was created",
            "example": "2023-10-01T12:00:00Z"
          },
          "deleted": {
            "type": "boolean",
            "description": "Flag indicating if this conversation has been deleted",
            "example": false
          },
          "contactId": {
            "type": "string",
            "description": "Unique identifier of the contact associated with this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier of the business location where this conversation takes place",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "lastMessageDate": {
            "type": "string",
            "description": "Date of the last message in the conversation",
            "example": "2023-10-01T12:00:00Z"
          },
          "assignedTo": {
            "type": "string",
            "description": "Unique identifier of the team member assigned to this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          }
        },
        "required": [
          "id",
          "dateUpdated",
          "dateAdded",
          "deleted",
          "contactId",
          "locationId",
          "lastMessageDate"
        ]
      },
      "conversations_v3_CreateConversationSuccessResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates whether the API request was successful.",
            "example": true
          },
          "conversation": {
            "description": "Conversation data of the provided conversation ID.",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_ConversationCreateResponseDto"
              }
            ],
            "example": {
              "id": "tDtDnQdgm2LXpyiqYvZ6",
              "dateUpdated": "2023-10-01T12:00:00Z",
              "dateAdded": "2023-10-01T12:00:00Z",
              "deleted": false,
              "contactId": "ve9EPM428kjkvShlRW1KT",
              "locationId": "ve9EPM428kjkvShlRW1KT",
              "lastMessageDate": "2023-10-01T12:00:00Z",
              "assignedTo": "ve9EPM428kjkvShlRW1KT"
            }
          }
        },
        "required": [
          "success",
          "conversation"
        ]
      },
      "conversations_v3_GetConversationByIdResponse": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "description": "Unique identifier of the contact associated with this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier of the business location where this conversation takes place",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "deleted": {
            "type": "boolean",
            "description": "Flag indicating if this conversation has been moved to trash/deleted",
            "example": false
          },
          "inbox": {
            "type": "boolean",
            "description": "Flag indicating if this conversation is currently in the main inbox view",
            "example": true
          },
          "type": {
            "type": "number",
            "description": "Communication channel type for this conversation: 1 (Phone), 2 (Email), 3 (Facebook Messenger), 4 (Review), 5 (Group SMS), 6 (Internal Chat - coming soon)",
            "example": 2
          },
          "unreadCount": {
            "type": "number",
            "description": "Number of messages in this conversation that have not been read by the user",
            "example": 1
          },
          "assignedTo": {
            "type": "string",
            "description": "Unique identifier of the team member currently responsible for handling this conversation",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for this specific conversation thread",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "starred": {
            "type": "boolean",
            "description": "Flag indicating if this conversation has been marked as important/starred by the user",
            "example": true
          }
        },
        "required": [
          "contactId",
          "locationId",
          "deleted",
          "inbox",
          "type",
          "unreadCount",
          "id"
        ]
      },
      "conversations_v3_UpdateConversationDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "unreadCount": {
            "type": "number",
            "description": "Count of unread messages in the conversation",
            "example": 1
          },
          "starred": {
            "type": "boolean",
            "description": "Starred status of the conversation.",
            "example": true
          },
          "feedback": {
            "type": "string",
            "description": "Live chat feedback value for the conversation",
            "enum": [
              "positive",
              "negative"
            ],
            "example": "positive"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "conversations_v3_ConversationDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Contact ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "assignedTo": {
            "type": "string",
            "description": "Assigned User ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "userId": {
            "type": "string",
            "description": "User ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "lastMessageBody": {
            "type": "string",
            "description": "Last message body as string",
            "example": "Hello, this is the message body"
          },
          "lastMessageDate": {
            "type": "string",
            "description": "Last message date as UTC",
            "example": "1628008053263"
          },
          "lastMessageType": {
            "type": "string",
            "description": "Type of the last message sent/received in the conversation.",
            "enum": [
              "TYPE_CALL",
              "TYPE_SMS",
              "TYPE_RCS",
              "TYPE_EMAIL",
              "TYPE_SMS_REVIEW_REQUEST",
              "TYPE_WEBCHAT",
              "TYPE_SMS_NO_SHOW_REQUEST",
              "TYPE_CAMPAIGN_SMS",
              "TYPE_CAMPAIGN_CALL",
              "TYPE_CAMPAIGN_EMAIL",
              "TYPE_CAMPAIGN_VOICEMAIL",
              "TYPE_FACEBOOK",
              "TYPE_CAMPAIGN_FACEBOOK",
              "TYPE_CAMPAIGN_MANUAL_CALL",
              "TYPE_CAMPAIGN_MANUAL_SMS",
              "TYPE_GMB",
              "TYPE_CAMPAIGN_GMB",
              "TYPE_REVIEW",
              "TYPE_INSTAGRAM",
              "TYPE_WHATSAPP",
              "TYPE_CUSTOM_SMS",
              "TYPE_CUSTOM_EMAIL",
              "TYPE_CUSTOM_PROVIDER_SMS",
              "TYPE_CUSTOM_PROVIDER_EMAIL",
              "TYPE_IVR_CALL",
              "TYPE_ACTIVITY_CONTACT",
              "TYPE_ACTIVITY_INVOICE",
              "TYPE_ACTIVITY_PAYMENT",
              "TYPE_ACTIVITY_OPPORTUNITY",
              "TYPE_LIVE_CHAT",
              "TYPE_LIVE_CHAT_INFO_MESSAGE",
              "TYPE_ACTIVITY_APPOINTMENT",
              "TYPE_FACEBOOK_COMMENT",
              "TYPE_INSTAGRAM_COMMENT",
              "TYPE_CUSTOM_CALL",
              "TYPE_INTERNAL_COMMENT",
              "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
              "TYPE_TIKTOK",
              "TYPE_TIKTOK_COMMENT",
              "TYPE_ACTIVITY_WHATSAPP",
              "TYPE_FORM_SUBMISSION",
              "TYPE_SMS_REACTION"
            ],
            "example": "TYPE_CALL"
          },
          "unreadCount": {
            "type": "number",
            "description": "Count of unread messages in the conversation",
            "example": 1
          },
          "inbox": {
            "type": "boolean",
            "description": "Inbox status of the conversation.",
            "example": true
          },
          "starred": {
            "type": "boolean",
            "description": "Starred status of the conversation.",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted status of the conversation.",
            "example": false
          }
        },
        "required": [
          "locationId",
          "contactId",
          "deleted"
        ]
      },
      "conversations_v3_GetConversationSuccessfulResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Boolean value as the API response.",
            "example": true
          },
          "conversation": {
            "description": "Conversation data of the provided conversation ID.",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_ConversationDto"
              }
            ],
            "example": {
              "id": "tDtDnQdgm2LXpyiqYvZ6",
              "locationId": "tDtDnQdgm2LXpyiqYvZ6",
              "contactId": "tDtDnQdgm2LXpyiqYvZ6",
              "assignedTo": "tDtDnQdgm2LXpyiqYvZ6",
              "userId": "tDtDnQdgm2LXpyiqYvZ6",
              "lastMessageBody": "Hello, this is the message body",
              "lastMessageDate": "1628008053263",
              "lastMessageType": "TYPE_CALL",
              "unreadCount": 1,
              "inbox": true,
              "starred": true,
              "deleted": false
            }
          }
        },
        "required": [
          "success",
          "conversation"
        ]
      },
      "conversations_v3_DeleteConversationSuccessfulResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Boolean value as the API response.",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "conversations_v3_GetEmailMessageResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Unique identifier for the email message"
          },
          "altId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "External Id"
          },
          "threadId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Message Id or thread Id"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Location ID associated with the email message"
          },
          "contactId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Contact ID associated with the email message"
          },
          "conversationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Conversation ID associated with the email message"
          },
          "dateAdded": {
            "type": "string",
            "example": "2024-03-27T18:13:49.000Z",
            "description": "Timestamp when the email message was created"
          },
          "subject": {
            "type": "string",
            "example": "Order confirm",
            "description": "Subject line of the email message"
          },
          "body": {
            "type": "string",
            "example": "Hi there",
            "description": "Body content of the email message"
          },
          "direction": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ],
            "description": "Direction of the email message",
            "example": "outbound"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "scheduled",
              "sent",
              "delivered",
              "read",
              "undelivered",
              "connected",
              "failed",
              "opened"
            ],
            "description": "Delivery status of the email message",
            "example": "delivered"
          },
          "contentType": {
            "type": "string",
            "example": "text/plain",
            "description": "Content type of the email body"
          },
          "attachments": {
            "description": "An array of attachment URLs.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "https://example.com/files/invoice.pdf"
            ]
          },
          "provider": {
            "type": "string",
            "description": "Email provider used to send or receive the message",
            "example": "CRM Gmail"
          },
          "from": {
            "type": "string",
            "description": "Name and Email Id of the sender",
            "example": "Support Team <support@example.com>"
          },
          "to": {
            "description": "List of email Ids of the receivers",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "customer@example.com"
            ]
          },
          "cc": {
            "description": "List of email Ids of the people in the cc field",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "manager@example.com"
            ]
          },
          "bcc": {
            "description": "List of email Ids of the people in the bcc field",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "audit@example.com"
            ]
          },
          "replyToMessageId": {
            "type": "string",
            "description": "In case of reply, email message Id of the reply to email",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "source": {
            "type": "string",
            "enum": [
              "workflow",
              "bulk_actions",
              "campaign",
              "api",
              "app"
            ],
            "description": "Email source",
            "example": "api"
          },
          "conversationProviderId": {
            "type": "string",
            "example": "cI08i1Bls3iTB9bKgF01",
            "description": "Conversation provider ID"
          }
        },
        "required": [
          "id",
          "threadId",
          "locationId",
          "contactId",
          "conversationId",
          "dateAdded",
          "body",
          "direction",
          "contentType",
          "from",
          "to"
        ]
      },
      "conversations_v3_CancelScheduledResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP Status code of the request",
            "example": 404
          },
          "message": {
            "type": "string",
            "description": "Error message of the request",
            "example": "Failed cancel the scheduled message"
          }
        },
        "required": [
          "status",
          "message"
        ]
      },
      "conversations_v3_MessageMeta": {
        "type": "object",
        "properties": {
          "callDuration": {
            "type": "string",
            "description": "Call duration in seconds",
            "example": 120
          },
          "callStatus": {
            "type": "string",
            "description": "Call status - can be pending, completed, answered, busy, no-answer, failed, canceled, or voicemail",
            "example": "completed",
            "enum": [
              "pending",
              "completed",
              "answered",
              "busy",
              "no-answer",
              "failed",
              "canceled",
              "voicemail"
            ]
          },
          "email": {
            "type": "object",
            "description": "meta will contain email, for message type 3 (email). messageIds is list of all email message ids under the message thread",
            "example": {
              "email": {
                "messageIds": [
                  "ve9EPM428kjkvShlRW1KT",
                  "ve9EPs1028kjkvShlRW1KT"
                ]
              }
            }
          }
        }
      },
      "conversations_v3_GetMessageResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Unique identifier for the message"
          },
          "type": {
            "type": "number",
            "example": 1,
            "description": "Numeric message type code"
          },
          "messageType": {
            "type": "string",
            "description": "Type of the message as a string",
            "example": "SMS",
            "enum": [
              "TYPE_CALL",
              "TYPE_SMS",
              "TYPE_RCS",
              "TYPE_EMAIL",
              "TYPE_SMS_REVIEW_REQUEST",
              "TYPE_WEBCHAT",
              "TYPE_SMS_NO_SHOW_REQUEST",
              "TYPE_CAMPAIGN_SMS",
              "TYPE_CAMPAIGN_CALL",
              "TYPE_CAMPAIGN_EMAIL",
              "TYPE_CAMPAIGN_VOICEMAIL",
              "TYPE_FACEBOOK",
              "TYPE_CAMPAIGN_FACEBOOK",
              "TYPE_CAMPAIGN_MANUAL_CALL",
              "TYPE_CAMPAIGN_MANUAL_SMS",
              "TYPE_GMB",
              "TYPE_CAMPAIGN_GMB",
              "TYPE_REVIEW",
              "TYPE_INSTAGRAM",
              "TYPE_WHATSAPP",
              "TYPE_CUSTOM_SMS",
              "TYPE_CUSTOM_EMAIL",
              "TYPE_CUSTOM_PROVIDER_SMS",
              "TYPE_CUSTOM_PROVIDER_EMAIL",
              "TYPE_IVR_CALL",
              "TYPE_ACTIVITY_CONTACT",
              "TYPE_ACTIVITY_INVOICE",
              "TYPE_ACTIVITY_PAYMENT",
              "TYPE_ACTIVITY_OPPORTUNITY",
              "TYPE_LIVE_CHAT",
              "TYPE_LIVE_CHAT_INFO_MESSAGE",
              "TYPE_ACTIVITY_APPOINTMENT",
              "TYPE_FACEBOOK_COMMENT",
              "TYPE_INSTAGRAM_COMMENT",
              "TYPE_CUSTOM_CALL",
              "TYPE_INTERNAL_COMMENT",
              "TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG",
              "TYPE_TIKTOK",
              "TYPE_TIKTOK_COMMENT",
              "TYPE_ACTIVITY_WHATSAPP",
              "TYPE_FORM_SUBMISSION",
              "TYPE_SMS_REACTION"
            ]
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Location ID associated with the message"
          },
          "contactId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Contact ID associated with the message"
          },
          "conversationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Conversation ID associated with the message"
          },
          "dateAdded": {
            "type": "string",
            "example": "2024-03-27T18:13:49.000Z",
            "description": "Timestamp when the message was created"
          },
          "body": {
            "type": "string",
            "example": "Hi there",
            "description": "Body content of the message"
          },
          "direction": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ],
            "description": "Direction of the message",
            "example": "outbound"
          },
          "status": {
            "type": "string",
            "enum": [
              "connected",
              "delivered",
              "failed",
              "opened",
              "pending",
              "read",
              "scheduled",
              "sent",
              "undelivered",
              "clicked",
              "opt_out",
              "queued"
            ],
            "description": "Delivery status of the message",
            "example": "delivered"
          },
          "contentType": {
            "type": "string",
            "example": "text/plain",
            "description": "Content type of the message body"
          },
          "attachments": {
            "description": "An array of attachment URLs. Attachments will be empty for Call and Voicemails, type 1 and 10. Please use get call recording API to fetch call recording and voicemails.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "https://example.com/files/recording.mp3"
            ]
          },
          "meta": {
            "$ref": "#/components/schemas/conversations_v3_MessageMeta"
          },
          "source": {
            "type": "string",
            "enum": [
              "workflow",
              "bulk_actions",
              "campaign",
              "api",
              "app"
            ],
            "description": "Message source",
            "example": "api"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "conversationProviderId": {
            "type": "string",
            "description": "Conversation Provider Id",
            "example": "ve9EPM428kjkvShlRW1KT"
          },
          "chatWidgetId": {
            "type": "string",
            "description": "Chat Widget Id",
            "example": "67b0cc8cf14b19d85ace7s35"
          }
        },
        "required": [
          "id",
          "type",
          "messageType",
          "locationId",
          "contactId",
          "conversationId",
          "dateAdded",
          "direction",
          "contentType"
        ]
      },
      "conversations_v3_ExportMessagesResponseDto": {
        "type": "object",
        "properties": {
          "messages": {
            "description": "Array of messages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversations_v3_GetMessageResponseDto"
            },
            "example": []
          },
          "nextCursor": {
            "type": "string",
            "description": "Cursor for fetching next page. Null if no more results.",
            "example": "a748514c-f49e-4fa8-9954-b53afc78d81d"
          },
          "total": {
            "type": "number",
            "description": "Total number of messages matching the query",
            "example": 1234
          }
        },
        "required": [
          "messages",
          "total"
        ]
      },
      "conversations_v3_GetMessagesByConversationResponseDto": {
        "type": "object",
        "properties": {
          "lastMessageId": {
            "type": "string",
            "description": "Id of the last message in the messages array",
            "example": "p1mRSHeLDhAms5q0LMr4"
          },
          "nextPage": {
            "type": "boolean",
            "description": "Next page value true indicates only 20 message is in the response. Rest of the messages are in the next page. Please use the lastMessageId value in the query to get the next page messages",
            "example": true
          },
          "messages": {
            "description": "Array of messages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversations_v3_GetMessageResponseDto"
            },
            "example": []
          }
        },
        "required": [
          "lastMessageId",
          "nextPage",
          "messages"
        ]
      },
      "conversations_v3_ForwardConfigDto": {
        "type": "object",
        "properties": {
          "isForwarded": {
            "type": "boolean",
            "description": "Specify if this is a forwarded email",
            "example": true
          },
          "forwardWholeThread": {
            "type": "boolean",
            "description": "Specify if forwarding the whole thread or just a single email",
            "example": false
          },
          "messageId": {
            "type": "string",
            "description": "Message ID of the email thread being forwarded (source) - REQUIRED for forwarding",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email Message ID of the specific email being forwarded (source) - Required for single email forward, ignored for thread forward",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "sourceContactId": {
            "type": "string",
            "description": "Contact ID where the forwarded email originated from (source) - Auto-populated if not provided",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "sourceConversationId": {
            "type": "string",
            "description": "Conversation ID where the forwarded email originated from (source) - Auto-populated if not provided",
            "example": "XYZ12h2F6uBrIkfXYacd"
          },
          "toEmail": {
            "type": "string",
            "description": "Email address to forward to (destination)",
            "example": "forward@example.com"
          },
          "recipientContactId": {
            "type": "string",
            "description": "Contact ID of recipient when forwarding (destination)",
            "example": "DEF56h2F6uBrIkfXYacd"
          },
          "recipientConversationId": {
            "type": "string",
            "description": "Conversation ID of recipient when forwarding (destination)",
            "example": "GHI78h2F6uBrIkfXYefg"
          }
        },
        "required": [
          "isForwarded"
        ]
      },
      "conversations_v3_SendMessageBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "SMS",
              "RCS",
              "Email",
              "WhatsApp",
              "IG",
              "FB",
              "Custom",
              "Live_Chat",
              "TIKTOK"
            ],
            "description": "Type of message being sent",
            "example": "Email"
          },
          "subType": {
            "type": "object",
            "description": "Type of message being sent",
            "example": "Email"
          },
          "contactId": {
            "type": "string",
            "description": "ID of the contact receiving the message",
            "example": "abc123def456"
          },
          "appointmentId": {
            "type": "string",
            "description": "ID of the associated appointment",
            "example": "appt123"
          },
          "attachments": {
            "description": "Array of attachment URLs",
            "example": [
              "https://storage.com/file1.pdf",
              "https://storage.com/file2.jpg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailFrom": {
            "type": "string",
            "description": "Email address to send from",
            "example": "sender@company.com"
          },
          "emailCc": {
            "description": "Array of CC email addresses",
            "example": [
              "cc1@company.com",
              "cc2@company.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailBcc": {
            "description": "Array of BCC email addresses",
            "example": [
              "bcc1@company.com",
              "bcc2@company.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "html": {
            "type": "string",
            "description": "HTML content of the message",
            "example": "<p>Hello World</p>"
          },
          "message": {
            "type": "string",
            "description": "Text content of the message",
            "example": "Hello, how can I help you today?"
          },
          "subject": {
            "type": "string",
            "description": "Subject line for email messages",
            "example": "Important Update"
          },
          "replyMessageId": {
            "type": "string",
            "description": "ID of message being replied to",
            "example": "msg123"
          },
          "templateId": {
            "type": "string",
            "description": "ID of message template",
            "example": "template123"
          },
          "threadId": {
            "type": "string",
            "description": "ID of message thread. For email messages, this is the message ID that contains multiple email messages in the thread",
            "example": "thread123"
          },
          "scheduledTimestamp": {
            "type": "number",
            "description": "UTC Timestamp (in seconds) at which the message should be scheduled",
            "example": 1669287863
          },
          "conversationProviderId": {
            "type": "string",
            "description": "ID of conversation provider",
            "example": "provider123"
          },
          "emailTo": {
            "type": "string",
            "description": "Email address to send to, if different from contact's primary email. This should be a valid email address associated with the contact.",
            "example": "recipient@company.com"
          },
          "customSubtypeId": {
            "type": "string",
            "description": "Custom subtype ID for email unsubscription preferences. Only applies to email messages.",
            "example": "507f1f77bcf86cd799439011"
          },
          "emailReplyMode": {
            "type": "string",
            "enum": [
              "reply",
              "reply_all"
            ],
            "description": "Mode for email replies",
            "example": "reply_all"
          },
          "fromNumber": {
            "type": "string",
            "description": "Phone number used as the sender number for outbound messages",
            "example": "+1499499299"
          },
          "toNumber": {
            "type": "string",
            "description": "Recipient phone number for outbound messages",
            "example": "+1439499299"
          },
          "forward": {
            "description": "Forwarding configuration for emails",
            "example": {
              "isForwarded": true,
              "forwardWholeThread": false,
              "messageId": "t22c6DQcTDf3MjRhwf77",
              "emailMessageId": "rnGyqh2F6uBrIkfhFo9A",
              "toEmail": "forward@example.com",
              "recipientContactId": "DEF56h2F6uBrIkfXYacd"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_ForwardConfigDto"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "delivered",
            "enum": [
              "delivered",
              "failed",
              "pending",
              "read"
            ]
          },
          "usesNativeSchedulingAi": {
            "type": "boolean",
            "description": "Whether the scheduled email uses native AI for the email scheduling ",
            "example": false
          },
          "optimizationPeriod": {
            "type": "string",
            "description": "Optimization period in hours (24h, 48h, or 72h)",
            "example": "24h",
            "enum": [
              "24h",
              "48h",
              "72h"
            ]
          }
        },
        "required": [
          "type",
          "subType",
          "contactId",
          "status"
        ]
      },
      "conversations_v3_ForwardResponseDto": {
        "type": "object",
        "properties": {
          "forwardWholeThread": {
            "type": "boolean",
            "description": "Whether the entire thread was forwarded",
            "example": false
          },
          "messageId": {
            "type": "string",
            "description": "Message ID of the forwarded message (source)",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email Message ID of the forwarded email (source)",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "sourceContactId": {
            "type": "string",
            "description": "Contact ID where the forwarded email originated from (source)",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "sourceConversationId": {
            "type": "string",
            "description": "Conversation ID where the forwarded email originated from (source)",
            "example": "XYZ12h2F6uBrIkfXYacd"
          },
          "forwardToEmail": {
            "type": "string",
            "description": "Email address the message was forwarded to (destination)",
            "example": "recipient@example.com"
          },
          "recipientContactId": {
            "type": "string",
            "description": "Contact ID of the recipient of the forwarded email (destination)",
            "example": "DEF56h2F6uBrIkfXYacd"
          },
          "recipientConversationId": {
            "type": "string",
            "description": "Conversation ID of the recipient of the forwarded email (destination)",
            "example": "GHI78h2F6uBrIkfXYefg"
          }
        }
      },
      "conversations_v3_SendMessageResponseDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "description": "Conversation ID.",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "emailMessageId": {
            "type": "string",
            "description": "This contains the email message ID (only for Email type). Use this ID to send inbound replies through this API to create a threaded email.",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "messageId": {
            "type": "string",
            "description": "This is the main Message ID",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "messageIds": {
            "description": "When sending via the GMB channel, we will be returning list of `messageIds` instead of single `messageId`.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "t22c6DQcTDf3MjRhwf77"
            ]
          },
          "msg": {
            "type": "string",
            "description": "Additional response message when sending a workflow message",
            "example": "Message queued successfully."
          },
          "forwardData": {
            "description": "Optional metadata for forwarded email",
            "example": {
              "forwardWholeThread": false,
              "messageId": "t22c6DQcTDf3MjRhwf77",
              "emailMessageId": "rnGyqh2F6uBrIkfhFo9A",
              "forwardToEmail": "recipient@example.com",
              "recipientContactId": "DEF56h2F6uBrIkfXYacd"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_ForwardResponseDto"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "delivered",
            "enum": [
              "delivered",
              "failed",
              "pending",
              "read"
            ]
          }
        },
        "required": [
          "conversationId",
          "messageId",
          "status"
        ]
      },
      "conversations_v3_CallDataDTO": {
        "type": "object",
        "properties": {
          "to": {
            "type": "string",
            "description": "Phone number of the receiver",
            "example": "+15037081210"
          },
          "from": {
            "type": "string",
            "description": "Phone number of the dialer",
            "example": "+15037081210"
          },
          "status": {
            "type": "string",
            "description": "Call status",
            "example": "completed",
            "enum": [
              "pending",
              "completed",
              "answered",
              "busy",
              "no-answer",
              "failed",
              "canceled",
              "voicemail"
            ]
          }
        }
      },
      "conversations_v3_ProcessMessageBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Message Type",
            "example": "SMS",
            "enum": [
              "SMS",
              "RCS",
              "Email",
              "WhatsApp",
              "GMB",
              "IG",
              "FB",
              "Custom",
              "WebChat",
              "Live_Chat",
              "Call",
              "IVR_Call",
              "Campaign_Call",
              "Campaign_VoiceMail",
              "TIKTOK",
              "ALL_IN_ONE_CHAT",
              "FORM_SUBMISSION"
            ]
          },
          "attachments": {
            "description": "Array of attachments",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "https://example.com/files/image.png"
            ]
          },
          "message": {
            "type": "string",
            "description": "Message Body",
            "example": "Hello from the contact."
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationProviderId": {
            "type": "string",
            "description": "Conversation Provider Id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "html": {
            "type": "string",
            "description": "HTML Body of Email",
            "example": "<p>Hello from the contact.</p>"
          },
          "subject": {
            "type": "string",
            "description": "Subject of the Email",
            "example": "Welcome email"
          },
          "emailFrom": {
            "type": "string",
            "description": "Email address to send from. This field is associated with the contact record and cannot be dynamically changed.",
            "example": "sender@company.com"
          },
          "emailTo": {
            "type": "string",
            "description": "Recipient email address. This field is associated with the contact record and cannot be dynamically changed.",
            "example": "recipient@example.com"
          },
          "emailCc": {
            "description": "List of email address to CC",
            "example": [
              "john1@doe.com",
              "john2@doe.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailBcc": {
            "description": "List of email address to BCC",
            "example": [
              "john1@doe.com",
              "john2@doe.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailMessageId": {
            "type": "string",
            "description": "Send the email message id for which this email should be threaded. This is for replying to a specific email",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          },
          "altId": {
            "type": "string",
            "description": "external mail provider's message id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "direction": {
            "type": "object",
            "description": "Message direction, if required can be set manually, default is outbound",
            "default": "outbound",
            "example": [
              "outbound",
              "inbound"
            ]
          },
          "date": {
            "format": "date-time",
            "type": "string",
            "description": "Date of the inbound message",
            "example": "2024-03-27T18:13:49.000Z"
          },
          "call": {
            "description": "Phone call dialer and receiver information",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_CallDataDTO"
              }
            ],
            "example": {
              "to": "+15037081210",
              "from": "+15037081211",
              "status": "completed"
            }
          }
        },
        "required": [
          "type",
          "conversationId",
          "contactId",
          "conversationProviderId"
        ]
      },
      "conversations_v3_ProcessMessageResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the message processing succeeded",
            "example": true
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation ID.",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "messageId": {
            "type": "string",
            "description": "This is the main Message ID",
            "example": "t22c6DQcTDf3MjRhwf77"
          },
          "message": {
            "type": "string",
            "description": "Result message returned after processing",
            "example": "Message queued successfully."
          },
          "contactId": {
            "type": "string",
            "description": "Contact ID associated with the processed message",
            "example": "ABC12h2F6uBrIkfXYazb"
          },
          "dateAdded": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when the processed message was created",
            "example": "2024-03-27T18:13:49.000Z"
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email message ID created for email conversations",
            "example": "rnGyqh2F6uBrIkfhFo9A"
          }
        },
        "required": [
          "success",
          "conversationId",
          "messageId",
          "message"
        ]
      },
      "conversations_v3_ProcessOutboundMessageBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Message Type",
            "example": "Call",
            "enum": [
              "Call"
            ]
          },
          "attachments": {
            "description": "Array of attachments",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "https://example.com/files/recording.mp3"
            ]
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationProviderId": {
            "type": "string",
            "description": "Conversation Provider Id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "altId": {
            "type": "string",
            "description": "external mail provider's message id",
            "example": "61d6d1f9cdac7612faf80753"
          },
          "date": {
            "format": "date-time",
            "type": "string",
            "description": "Date of the outbound message",
            "example": "2024-03-27T18:13:49.000Z"
          },
          "call": {
            "description": "Phone call dialer and receiver information",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_CallDataDTO"
              }
            ],
            "example": {
              "to": "+15037081210",
              "from": "+15037081211",
              "status": "completed"
            }
          }
        },
        "required": [
          "type",
          "conversationId",
          "conversationProviderId"
        ]
      },
      "conversations_v3_UploadFilesDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID associated with the upload request",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "attachmentUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of attachment URLs to upload for the conversation",
            "example": [
              "https://example.com/files/invoice.pdf"
            ]
          },
          "chatServiceSid": {
            "type": "string",
            "description": "Twilio chat service SID for group SMS uploads",
            "example": "ISxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "isGroupSms": {
            "type": "string",
            "description": "Flag to indicate group SMS upload flow. When true, only 1 file upload is allowed per request.",
            "example": "true"
          }
        },
        "required": [
          "conversationId",
          "contactId",
          "locationId",
          "attachmentUrls"
        ]
      },
      "conversations_v3_UploadFilesResponseDto": {
        "type": "object",
        "properties": {
          "uploadedFiles": {
            "type": "object",
            "description": "Map of uploaded file names to their accessible URLs",
            "example": {
              "invoice.pdf": "https://example.com/files/invoice.pdf"
            }
          },
          "twilioMediaSids": {
            "description": "Twilio media SIDs for group SMS (when isGroupSms=true)",
            "example": [
              "MExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "uploadedFiles"
        ]
      },
      "conversations_v3_UploadFilesErrorResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP Status code of the request",
            "example": 413,
            "enum": [
              400,
              413,
              415
            ]
          },
          "message": {
            "type": "string",
            "description": "Error message of the request",
            "example": "Failed to upload the files"
          }
        },
        "required": [
          "status",
          "message"
        ]
      },
      "conversations_v3_ErrorDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error Code",
            "example": "1"
          },
          "type": {
            "type": "string",
            "description": "Error Type",
            "example": "saas"
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "example": "There was an error from the provider"
          }
        },
        "required": [
          "code",
          "type",
          "message"
        ]
      },
      "conversations_v3_UpdateMessageStatusDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "read",
            "enum": [
              "delivered",
              "failed",
              "pending",
              "read"
            ]
          },
          "error": {
            "description": "Error object from the conversation provider",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_ErrorDto"
              }
            ],
            "example": {
              "type": "saas",
              "message": "There was an error from the provider"
            }
          },
          "emailMessageId": {
            "type": "string",
            "description": "Email message Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "recipients": {
            "description": "Email delivery status for additional email recipients.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              {
                "emailId": "john@doe.com",
                "status": "delivered"
              }
            ]
          }
        },
        "required": [
          "status"
        ]
      },
      "conversations_v3_AddMessageAttachmentsDto": {
        "type": "object",
        "properties": {
          "attachments": {
            "description": "Array of attachment URLs to set on the message (replaces existing). Maximum 5 URLs.",
            "example": [
              "https://provider.com/recordings/call-123.mp3"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "attachments"
        ]
      },
      "conversations_v3_GetMessageTranscriptionResponseDto": {
        "type": "object",
        "properties": {
          "mediaChannel": {
            "type": "number",
            "description": "Media channel describes the user interaction channel",
            "example": "1"
          },
          "sentenceIndex": {
            "type": "number",
            "description": "Index of the sentence in the transcription",
            "example": "1"
          },
          "startTime": {
            "type": "number",
            "description": "Start time of the sentence in milliseconds",
            "example": "34"
          },
          "endTime": {
            "type": "number",
            "description": "End time of the sentence in milliseconds",
            "example": "45"
          },
          "transcript": {
            "type": "string",
            "description": "Transcript of the sentence",
            "example": "This call may be recorded for quality assurance purposes."
          },
          "confidence": {
            "type": "number",
            "description": "Confidence of the transcription",
            "example": "0.5"
          }
        },
        "required": [
          "mediaChannel",
          "sentenceIndex",
          "startTime",
          "endTime",
          "transcript",
          "confidence"
        ]
      },
      "conversations_v3_UserTypingBody": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "isTyping": {
            "type": "string",
            "description": "Typing status",
            "example": true
          },
          "visitorId": {
            "type": "string",
            "description": "Unique ID assigned to each live chat visitor.",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "locationId",
          "isTyping",
          "visitorId",
          "conversationId"
        ]
      },
      "conversations_v3_CreateLiveChatMessageFeedbackResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the live chat feedback was recorded successfully",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "conversations_v3_EmailEventsDto": {
        "type": "object",
        "description": "Aggregate delivery event counters for the email message. Values are merged into existing stored counters (additive update, not replacement). A value of `0` is treated as a no-op and will not reset the stored counter. Only include fields you want to update. Provider-specific counters such as `permanent_fail`, `temporary_fail`, and `esp_isp_block` may be sent using those snake_case keys.",
        "additionalProperties": {
          "type": "integer",
          "description": "Additional provider event counter (merged into stored values)."
        },
        "properties": {
          "delivered": {
            "type": "integer",
            "description": "Number of successful deliveries — the recipient mail server accepted the message. Automatically inferred (set to 1) when `opened`, `clicked`, `complained`, `unsubscribed`, or `replied` events are reported.",
            "example": 1
          },
          "opened": {
            "type": "integer",
            "description": "Number of unique open events (typically tracked via a tracking pixel). Automatically inferred (set to 1) when `clicked`, `complained`, `unsubscribed`, or `replied` events are reported, provided open tracking is enabled on the email.",
            "example": 3
          },
          "clicked": {
            "type": "integer",
            "description": "Number of link click events within the email body. Triggers automatic inference of both `opened` and `delivered`.",
            "example": 1
          },
          "replied": {
            "type": "integer",
            "description": "Number of reply events. Triggers automatic inference of both `opened` (if open tracking is enabled) and `delivered`.",
            "example": 1
          },
          "failed": {
            "type": "integer",
            "description": "Total number of delivery failures (includes both permanent and temporary). For more granular failure tracking, use `permanent_fail` and `temporary_fail` instead.",
            "example": 0
          },
          "accepted": {
            "type": "integer",
            "description": "Number of messages accepted by the receiving mail server for delivery. Automatically inferred (set to 1) when `delivered`, `permanent_fail`, or `temporary_fail` events are reported.",
            "example": 1
          },
          "rejected": {
            "type": "integer",
            "description": "Number of messages rejected outright by the receiving mail server (before acceptance).",
            "example": 0
          },
          "unsubscribed": {
            "type": "integer",
            "description": "Number of unsubscribe events triggered by the recipient. Triggers automatic inference of `opened` and `delivered`.",
            "example": 0
          },
          "complained": {
            "type": "integer",
            "description": "Number of spam complaint events (e.g., recipient marked the email as spam). Triggers automatic inference of `opened` and `delivered`.",
            "example": 0
          },
          "stored": {
            "type": "integer",
            "description": "Number of messages stored by the email service provider (ESP-specific event).",
            "example": 0
          }
        }
      },
      "conversations_v3_UpdateRecipientMessageStatusDto": {
        "type": "object",
        "description": "Delivery status for an individual recipient of a multi-recipient email. Each entry is keyed by the recipient's email address and tracks their specific delivery outcome independently from the aggregate event counters.",
        "properties": {
          "emailId": {
            "type": "string",
            "description": "The recipient's email address. This is used as the key to store and update the per-recipient status. Must match one of the original recipients of the email.",
            "example": "john@doe.com"
          },
          "status": {
            "type": "string",
            "description": "The delivery status for this specific recipient. Common values for status updates: `delivered` (successfully delivered), `failed` (delivery failed — provide `failReason`), `opened` (recipient opened the email), `clicked` (recipient clicked a link).",
            "enum": [
              "pending",
              "scheduled",
              "sent",
              "delivered",
              "read",
              "undelivered",
              "connected",
              "failed",
              "opened",
              "clicked"
            ],
            "example": "delivered"
          },
          "failReason": {
            "type": "string",
            "description": "Human-readable reason for the delivery failure. Only applicable when `status` is `failed`. Examples: \"Mailbox not found\", \"Quota exceeded\", \"Blocked by recipient server\".",
            "example": "Mailbox not found"
          }
        },
        "required": [
          "emailId",
          "status"
        ]
      },
      "conversations_v3_UpdateEmailMessageStatusDto": {
        "type": "object",
        "description": "Request body to update the delivery status of an email message. `status` is required. `events` and `recipients` are optional and may be included together with `status`.\n\n- Use `events` to report aggregate delivery metrics (delivered count, open count, etc.).\n- Use `recipients` to track per-recipient delivery outcomes for multi-recipient emails.\n- Use `status` to set the overall message status.\n\nMultiple calls are additive — event counters are merged, recipient statuses are upserted, and the message status is overwritten.",
        "required": [
          "status"
        ],
        "properties": {
          "events": {
            "description": "Aggregate delivery event counters. Counters are merged into existing values. The API automatically infers related events (e.g., reporting `clicked` will also set `opened` and `delivered` if not already present). See the endpoint description for the full inference rules.",
            "allOf": [
              {
                "$ref": "#/components/schemas/conversations_v3_EmailEventsDto"
              }
            ],
            "example": {
              "delivered": 1,
              "opened": 1
            }
          },
          "recipients": {
            "type": "array",
            "description": "Per-recipient delivery statuses. Each entry maps a recipient email address to a delivery status. Entries are upserted — if a recipient already has a status, it will be overwritten with the new value.",
            "items": {
              "$ref": "#/components/schemas/conversations_v3_UpdateRecipientMessageStatusDto"
            },
            "example": [
              {
                "emailId": "john@example.com",
                "status": "delivered"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "The overall status of the email message. Required on every request. For emails with multiple recipients, consider using the `recipients` array for granular tracking and this field for the aggregate status.",
            "enum": [
              "pending",
              "scheduled",
              "sent",
              "delivered",
              "read",
              "undelivered",
              "connected",
              "failed",
              "opened",
              "clicked"
            ],
            "example": "delivered"
          }
        }
      },
      "conversations_v3_UpdateEmailMessageStatusResponseDto": {
        "type": "object",
        "description": "Response returned after successfully updating the email message status.",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the status update was persisted successfully.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable result message.",
            "example": "Updated email message successfully"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "conversations_v3_SendReviewReplyDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "string",
            "description": "Conversation ID (must have reviewId)",
            "example": "conv123"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "loc123"
          },
          "message": {
            "type": "string",
            "description": "Review reply message text",
            "example": "Thank you for your review!"
          }
        },
        "required": [
          "conversationId",
          "locationId",
          "message"
        ]
      },
      "conversations_v3_InitiateFileUploadDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "filename": {
            "type": "string",
            "description": "Original filename with extension",
            "example": "video.mp4"
          },
          "contentType": {
            "type": "string",
            "description": "MIME type of the file",
            "example": "video/mp4"
          },
          "fileSize": {
            "type": "number",
            "description": "File size in bytes (optional, for pre-validation)",
            "example": 52428800
          },
          "channel": {
            "type": "string",
            "description": "Channel type for size limits (WHATSAPP for 100MB limit, others for 5MB)",
            "example": "WHATSAPP"
          }
        },
        "required": [
          "locationId",
          "conversationId",
          "filename",
          "contentType",
          "channel"
        ]
      },
      "conversations_v3_InitiateFileUploadResponseDto": {
        "type": "object",
        "properties": {
          "uploadUrl": {
            "type": "string",
            "description": "Signed URL for direct upload to GCS. Use PUT request with file content.",
            "example": "https://storage.googleapis.com/bucket/path?X-Goog-Algorithm=..."
          },
          "uploadId": {
            "type": "string",
            "description": "Unique upload ID for tracking and completing the upload",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "filePath": {
            "type": "string",
            "description": "File path in GCS bucket (needed for confirmation endpoint)",
            "example": "location/loc123/conversations/conv456/uuid.mp4"
          },
          "expiresAt": {
            "type": "number",
            "description": "URL expiration timestamp (Unix milliseconds)",
            "example": 1701619200000
          },
          "maxFileSize": {
            "type": "number",
            "description": "Maximum allowed file size in bytes",
            "example": 104857600
          }
        },
        "required": [
          "uploadUrl",
          "uploadId",
          "filePath",
          "expiresAt",
          "maxFileSize"
        ]
      },
      "conversations_v3_CompleteFileUploadDto": {
        "type": "object",
        "properties": {
          "uploadId": {
            "type": "string",
            "description": "Upload ID from request response",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "filePath": {
            "type": "string",
            "description": "File path from request response",
            "example": "location/loc123/conversations/conv456/uuid.mp4"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "conversationId": {
            "type": "string",
            "description": "Conversation ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "filename": {
            "type": "string",
            "description": "Original filename (for response mapping)",
            "example": "video.mp4"
          }
        },
        "required": [
          "uploadId",
          "filePath",
          "locationId",
          "conversationId",
          "filename"
        ]
      },
      "conversations_v3_CompleteFileUploadResponseDto": {
        "type": "object",
        "properties": {
          "uploadedFiles": {
            "type": "object",
            "description": "Map of filename to public URL",
            "example": {
              "video.mp4": "https://your-domain.com/conversations-assets/location/.../video.mp4"
            }
          },
          "metadata": {
            "type": "object",
            "description": "File metadata",
            "example": {
              "size": 52428800,
              "contentType": "video/mp4"
            }
          }
        },
        "required": [
          "uploadedFiles",
          "metadata"
        ]
      },
      "courses_v3_visibility": {
        "type": "string",
        "enum": [
          "published",
          "draft"
        ]
      },
      "courses_v3_contentType": {
        "type": "string",
        "enum": [
          "video",
          "assignment",
          "quiz"
        ]
      },
      "courses_v3_type": {
        "type": "string",
        "enum": [
          "pdf",
          "image",
          "docx",
          "pptx",
          "xlsx",
          "html",
          "dotx",
          "epub",
          "webp",
          "gdoc",
          "mp3",
          "doc",
          "txt",
          "zip",
          "ppt",
          "key",
          "htm",
          "xls",
          "odp",
          "odt",
          "rtf",
          "m4a",
          "ods",
          "mp4",
          "ai",
          "avi",
          "mov",
          "wmv",
          "mkv",
          "wav",
          "flac",
          "ogg",
          "png",
          "jpeg",
          "jpg",
          "gif",
          "bmp",
          "tiff",
          "svg",
          "odg",
          "sxw",
          "sxc",
          "sxi",
          "rar",
          "7z",
          "json",
          "xml",
          "csv",
          "md",
          "obj",
          "stl",
          "woff",
          "ttf"
        ]
      },
      "courses_v3_PostMaterialInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/courses_v3_type"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "type",
          "url"
        ]
      },
      "courses_v3_PostInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/courses_v3_visibility"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "contentType": {
            "$ref": "#/components/schemas/courses_v3_contentType"
          },
          "description": {
            "type": "string"
          },
          "bucketVideoUrl": {
            "type": "string"
          },
          "postMaterials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_v3_PostMaterialInterface"
            }
          }
        },
        "required": [
          "title",
          "visibility",
          "contentType",
          "description"
        ]
      },
      "courses_v3_SubCategoryInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/courses_v3_visibility"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_v3_PostInterface"
            }
          }
        },
        "required": [
          "title",
          "visibility"
        ]
      },
      "courses_v3_CategoryInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/courses_v3_visibility"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_v3_PostInterface"
            }
          },
          "subCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_v3_SubCategoryInterface"
            }
          }
        },
        "required": [
          "title",
          "visibility"
        ]
      },
      "courses_v3_InstructorDetails": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description"
        ]
      },
      "courses_v3_ProductInterface": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_v3_CategoryInterface"
            }
          },
          "instructorDetails": {
            "$ref": "#/components/schemas/courses_v3_InstructorDetails"
          }
        },
        "required": [
          "title",
          "description",
          "categories"
        ]
      },
      "courses_v3_PublicExporterPayload": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/courses_v3_ProductInterface"
            }
          }
        },
        "required": [
          "locationId",
          "products"
        ]
      },
      "custom_fields_v3_OptionDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of the option (Included in Create and Response, excluded in Update)"
          },
          "label": {
            "type": "string",
            "description": "Value of the option"
          },
          "url": {
            "type": "string",
            "description": "URL associated with the option (Optional, valid only for RADIO type)"
          }
        },
        "required": [
          "key",
          "label"
        ]
      },
      "custom_fields_v3_ICustomField": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_v3_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the object"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom / standard object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "dataType": {
            "type": "string",
            "enum": [
              "TEXT",
              "LARGE_TEXT",
              "NUMERICAL",
              "PHONE",
              "MONETORY",
              "CHECKBOX",
              "SINGLE_OPTIONS",
              "MULTIPLE_OPTIONS",
              "DATE",
              "TEXTBOX_LIST",
              "FILE_UPLOAD",
              "RADIO"
            ],
            "description": "Type of field that you are trying to create"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder",
            "example": "3v34PM428h8vShlRW1KT"
          },
          "fieldKey": {
            "type": "string",
            "description": "Field key. For Custom Object it's formatted as \"custom_object.{objectKey}.{fieldKey}\". \"custom_object\" is a fixed prefix, \"{objectKey}\" is your custom object's identifier, and \"{fieldName}\" is the unique field name within that object. Example: \"custom_object.pet.name\" for a \"name\" field in a \"pet\" custom object.",
            "example": "custom_object.pet.name"
          },
          "allowCustomOption": {
            "type": "boolean",
            "description": "Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.",
            "example": true
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads",
            "example": 2
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          }
        },
        "required": [
          "locationId",
          "showInForms",
          "id",
          "objectKey",
          "dataType",
          "parentId",
          "fieldKey",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "custom_fields_v3_CustomFieldSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "field": {
            "$ref": "#/components/schemas/custom_fields_v3_ICustomField"
          }
        }
      },
      "custom_fields_v3_CustomFieldsResponseDTO": {
        "type": "object",
        "properties": {
          "fields": {
            "description": "Custom Fields for the object.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_v3_ICustomField"
            }
          },
          "folders": {
            "description": "Custom Fields folder for the object.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_v3_ICustomField"
            }
          }
        }
      },
      "custom_fields_v3_CreateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_v3_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "dataType": {
            "type": "string",
            "enum": [
              "TEXT",
              "LARGE_TEXT",
              "NUMERICAL",
              "PHONE",
              "MONETORY",
              "CHECKBOX",
              "SINGLE_OPTIONS",
              "MULTIPLE_OPTIONS",
              "DATE",
              "TEXTBOX_LIST",
              "FILE_UPLOAD",
              "RADIO",
              "EMAIL"
            ],
            "description": "Type of field that you are trying to create"
          },
          "fieldKey": {
            "type": "string",
            "description": "Field key. For Custom Object it's formatted as \"custom_object.{objectKey}.{fieldKey}\". \"custom_object\" is a fixed prefix, \"{objectKey}\" is your custom object's identifier, and \"{fieldKey}\" is the unique field name within that object. Example: \"custom_object.pet.name\" for a \"name\" field in a \"pet\" custom object.",
            "example": "custom_object.pet.name"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads. Applicable only for fields with a data type of FILE_UPLOAD.",
            "example": 2
          },
          "allowCustomOption": {
            "type": "boolean",
            "description": "Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.",
            "example": true
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder"
          }
        },
        "required": [
          "locationId",
          "showInForms",
          "dataType",
          "fieldKey",
          "objectKey",
          "parentId"
        ]
      },
      "custom_fields_v3_CreateFolder": {
        "type": "object",
        "properties": {
          "objectKey": {
            "type": "string",
            "description": "The key for your custom object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "objectKey",
          "name",
          "locationId"
        ]
      },
      "custom_fields_v3_ICustomFieldFolder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the object"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          }
        },
        "required": [
          "id",
          "objectKey",
          "locationId",
          "name"
        ]
      },
      "custom_fields_v3_UpdateFolder": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "name",
          "locationId"
        ]
      },
      "custom_fields_v3_CustomFolderDeleteResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          },
          "id": {
            "type": "string",
            "example": "3v34PM428h8vShlRW1KT"
          },
          "key": {
            "type": "string",
            "example": "custom_object.pet.name"
          }
        },
        "required": [
          "succeded",
          "id",
          "key"
        ]
      },
      "custom_fields_v3_UpdateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field. Important: Providing options will completely replace the existing options array. You must include all existing options alongside any new options you wish to add. Removal of options is not supported through this update. Applicable only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST types.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_fields_v3_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads. Applicable only for fields with a data type of FILE_UPLOAD.",
            "example": 2
          }
        },
        "required": [
          "locationId",
          "showInForms"
        ]
      },
      "custom_menus_v3_IconSchemaOptional": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the icon",
            "example": "yin-yang"
          },
          "fontFamily": {
            "type": "string",
            "description": "Font family of the icon",
            "enum": [
              "fab",
              "fas",
              "far"
            ]
          }
        }
      },
      "custom_menus_v3_CustomMenuSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the custom menu",
            "example": "12345"
          },
          "icon": {
            "description": "Icon information for the menu item",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_v3_IconSchemaOptional"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title of the custom menu",
            "example": "Dashboard"
          },
          "url": {
            "type": "string",
            "description": "URL of the custom menu",
            "example": "/dashboard"
          },
          "order": {
            "type": "number",
            "description": "Order of the custom menu",
            "example": 1
          },
          "showOnCompany": {
            "type": "boolean",
            "description": "Filter to show only agency-level menu links. When omitted, fetches both agency and sub-account menu links. Ignored if locationId is provided",
            "example": true
          },
          "showOnLocation": {
            "type": "boolean",
            "description": "Whether the menu must be displayed for sub-accounts level",
            "example": true
          },
          "showToAllLocations": {
            "type": "boolean",
            "description": "Whether the menu must be displayed to all sub-accounts",
            "example": true
          },
          "locations": {
            "description": "List of sub-account IDs where the menu should be shown. This list is applicable only when showOnLocation is true and showToAllLocations is false",
            "example": [
              "gfWreTIHL8pDbggBb7af",
              "67WreTIHL8pDbggBb7ty"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "openMode": {
            "type": "string",
            "description": "Mode for opening the menu link",
            "enum": [
              "iframe",
              "new_tab",
              "current_tab"
            ]
          },
          "userRole": {
            "type": "string",
            "description": "Which user-roles should the menu be accessible to?",
            "enum": [
              "all",
              "admin",
              "user"
            ]
          },
          "allowCamera": {
            "type": "boolean",
            "description": "Indicates if camera access is allowed for this menu",
            "example": false
          },
          "allowMicrophone": {
            "type": "boolean",
            "description": "Indicates if microphone access is allowed for this menu",
            "example": false
          }
        }
      },
      "custom_menus_v3_GetCustomMenusResponseDTO": {
        "type": "object",
        "properties": {
          "customMenus": {
            "description": "Array of custom menu links",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_menus_v3_CustomMenuSchema"
            }
          },
          "totalLinks": {
            "type": "number",
            "description": "Total number of custom menu records",
            "example": 100
          }
        }
      },
      "custom_menus_v3_GetSingleCustomMenusSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "customMenu": {
            "description": "Single Custom menu link object",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_v3_CustomMenuSchema"
              }
            ]
          }
        }
      },
      "custom_menus_v3_DeleteCustomMenuSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates whether the custom menu was successfully deleted",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "A message providing additional information about the deletion operation",
            "example": "Custom menu successfully deleted"
          },
          "deletedMenuId": {
            "type": "string",
            "description": "The ID of the deleted custom menu",
            "example": "12345abcde"
          },
          "deletedAt": {
            "type": "string",
            "description": "Timestamp of when the deletion was performed",
            "example": "2023-09-12T15:30:45.123Z",
            "format": "date-time"
          }
        }
      },
      "custom_menus_v3_IconSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the icon",
            "example": "yin-yang"
          },
          "fontFamily": {
            "type": "string",
            "description": "Font family of the icon",
            "enum": [
              "fab",
              "fas",
              "far"
            ]
          }
        },
        "required": [
          "name",
          "fontFamily"
        ]
      },
      "custom_menus_v3_CreateCustomMenuDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the custom menu",
            "example": "Custom Menu"
          },
          "url": {
            "type": "string",
            "description": "URL of the custom menu",
            "example": "https://custom-menus.com/"
          },
          "icon": {
            "description": "Icon information for the custom menu",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_v3_IconSchema"
              }
            ]
          },
          "showOnCompany": {
            "type": "boolean",
            "description": "Whether the menu must be displayed on the agency's level",
            "example": true,
            "default": true
          },
          "showOnLocation": {
            "type": "boolean",
            "description": "Whether the menu must be displayed for sub-accounts level",
            "example": true,
            "default": true
          },
          "showToAllLocations": {
            "type": "boolean",
            "description": "Whether the menu must be displayed to all sub-accounts",
            "example": true,
            "default": true
          },
          "openMode": {
            "type": "string",
            "description": "Mode for opening the menu link",
            "enum": [
              "iframe",
              "new_tab",
              "current_tab"
            ]
          },
          "locations": {
            "description": "List of sub-account IDs where the menu should be shown. This list is applicable only when showOnLocation is true and showToAllLocations is false",
            "example": [
              "gfWreTIHL8pDbggBb7af",
              "67WreTIHL8pDbggBb7ty"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userRole": {
            "type": "string",
            "description": "Which user-roles should the menu be accessible to?",
            "enum": [
              "all",
              "admin",
              "user"
            ]
          },
          "allowCamera": {
            "type": "boolean",
            "description": "Whether to allow camera access (only for iframe mode)",
            "example": false
          },
          "allowMicrophone": {
            "type": "boolean",
            "description": "Whether to allow microphone access (only for iframe mode)",
            "example": false
          }
        },
        "required": [
          "title",
          "url",
          "icon",
          "showOnCompany",
          "showOnLocation",
          "showToAllLocations",
          "openMode",
          "locations",
          "userRole"
        ]
      },
      "custom_menus_v3_UpdateCustomMenuDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title of the custom menu",
            "example": "Custom Menu"
          },
          "url": {
            "type": "string",
            "description": "URL of the custom menu",
            "example": "https://custom-menus.com/"
          },
          "icon": {
            "description": "Icon information for the custom menu",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_v3_IconSchemaOptional"
              }
            ]
          },
          "showOnCompany": {
            "type": "boolean",
            "description": "Whether the menu must be displayed on the agency's level",
            "example": true,
            "default": true
          },
          "showOnLocation": {
            "type": "boolean",
            "description": "Whether the menu must be displayed for sub-accounts level",
            "example": true,
            "default": true
          },
          "showToAllLocations": {
            "type": "boolean",
            "description": "Whether the menu must be displayed to all sub-accounts",
            "example": true,
            "default": true
          },
          "openMode": {
            "type": "string",
            "description": "Mode for opening the menu link",
            "enum": [
              "iframe",
              "new_tab",
              "current_tab"
            ]
          },
          "locations": {
            "description": "List of sub-account IDs where the menu should be shown. This list is applicable only when showOnLocation is true and showToAllLocations is false",
            "example": [
              "gfWreTIHL8pDbggBb7af",
              "67WreTIHL8pDbggBb7ty"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userRole": {
            "type": "string",
            "description": "Which user-roles should the menu be accessible to?",
            "enum": [
              "all",
              "admin",
              "user"
            ]
          },
          "allowCamera": {
            "type": "boolean",
            "description": "Whether to allow camera access (only for iframe mode)",
            "example": false
          },
          "allowMicrophone": {
            "type": "boolean",
            "description": "Whether to allow microphone access (only for iframe mode)",
            "example": false
          }
        }
      },
      "custom_menus_v3_UpdateCustomMenuLinkResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Status of update"
          },
          "customMenu": {
            "description": "Updated custom menu link",
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_menus_v3_CustomMenuSchema"
              }
            ]
          }
        }
      },
      "email_isv_v3_EmailNotVerifiedResponseDto": {
        "type": "object",
        "properties": {
          "verified": {
            "type": "boolean",
            "example": false,
            "description": "Email verification not processed"
          },
          "message": {
            "type": "string",
            "example": "Validation is disabled / proper config not found",
            "description": "Email verification failure message"
          },
          "address": {
            "type": "string",
            "example": "abc@xyz.com",
            "description": "Email address"
          }
        },
        "required": [
          "verified"
        ]
      },
      "email_isv_v3_EmailVerifiedV3ResponseDto": {
        "type": "object",
        "properties": {
          "reason": {
            "example": [
              "mailbox_does_not_exist"
            ],
            "description": "Reason for email verification failure",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "result": {
            "type": "string",
            "example": "undeliverable",
            "enum": [
              "deliverable",
              "undeliverable",
              "do_not_send",
              "unknown",
              "catch_all"
            ],
            "description": "Email verification result"
          },
          "risk": {
            "type": "string",
            "example": "low",
            "enum": [
              "high",
              "low",
              "medium",
              "unknown"
            ],
            "description": "Risk level of email sending to bounce"
          },
          "address": {
            "type": "string",
            "example": "abc@xyz.com",
            "description": "Email address"
          },
          "emailProviderRecommendation": {
            "example": {
              "isEmailValid": false
            },
            "description": "Lead Connector email verification recommendation",
            "allOf": [
              {
                "$ref": "#/components/schemas/EmailProviderRecommendationDto"
              }
            ]
          }
        },
        "required": [
          "result",
          "risk",
          "address"
        ]
      },
      "email_isv_v3_VerificationBodyDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "email",
            "enum": [
              "email",
              "contact"
            ],
            "description": "Email Verification type"
          },
          "verify": {
            "type": "string",
            "example": "abc@xyz.com",
            "description": "Email Verification recepient (email address / contactId)"
          }
        },
        "required": [
          "type",
          "verify"
        ]
      },
      "emails_v3_ScheduleDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Untitled new campaign"
          },
          "repeatAfter": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "parentId": {
            "type": "string"
          },
          "childCount": {
            "type": "number"
          },
          "campaignType": {
            "type": "string"
          },
          "bulkActionVersion": {
            "type": "string"
          },
          "_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "sendDays": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean"
          },
          "migrated": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "hasTracking": {
            "type": "boolean"
          },
          "isPlainText": {
            "type": "boolean"
          },
          "hasUtmTracking": {
            "type": "boolean"
          },
          "enableResendToUnopened": {
            "type": "boolean"
          },
          "locationId": {
            "type": "string"
          },
          "templateId": {
            "type": "string"
          },
          "templateType": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "__v": {
            "type": "number"
          },
          "documentId": {
            "type": "string"
          },
          "downloadUrl": {
            "type": "string"
          },
          "templateDataDownloadUrl": {
            "type": "string"
          },
          "child": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "repeatAfter",
          "id",
          "parentId",
          "childCount",
          "campaignType",
          "bulkActionVersion",
          "_id",
          "status",
          "sendDays",
          "deleted",
          "migrated",
          "archived",
          "hasTracking",
          "isPlainText",
          "hasUtmTracking",
          "enableResendToUnopened",
          "locationId",
          "templateId",
          "templateType",
          "createdAt",
          "updatedAt",
          "__v",
          "documentId",
          "downloadUrl",
          "templateDataDownloadUrl",
          "child"
        ]
      },
      "emails_v3_ScheduleFetchSuccessfulDTO": {
        "type": "object",
        "properties": {
          "schedules": {
            "description": "The list of campaigns",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_ScheduleDto"
            }
          },
          "total": {
            "description": "The total number of campaigns",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "traceId": {
            "type": "string",
            "description": "Trace Id"
          }
        },
        "required": [
          "schedules",
          "total",
          "traceId"
        ]
      },
      "emails_v3_InvalidLocationDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "HTTP status code for invalid location access",
            "example": 403
          },
          "message": {
            "type": "string",
            "description": "Error message describing the location access failure",
            "example": "The token does not have access to this location"
          }
        }
      },
      "emails_v3_NotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "HTTP status code for not found",
            "example": 404
          },
          "message": {
            "type": "string",
            "description": "Error message describing the not found failure",
            "example": "Not Found"
          },
          "error": {
            "type": "string",
            "description": "Error type identifier",
            "example": "The requested resource was not found"
          }
        }
      },
      "emails_v3_CreateBuilderDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "title": {
            "type": "string",
            "example": "template title"
          },
          "type": {
            "type": "string",
            "enum": [
              "html",
              "folder",
              "import",
              "builder",
              "blank",
              "ai_template",
              "vibe-editor"
            ]
          },
          "updatedBy": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "builderVersion": {
            "type": "string",
            "enum": [
              "1",
              "2"
            ],
            "default": "2"
          },
          "name": {
            "type": "string",
            "example": "Template1"
          },
          "parentId": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "templateDataUrl": {
            "type": "string",
            "example": ""
          },
          "importProvider": {
            "type": "string",
            "enum": [
              "mailchimp",
              "active_campaign",
              "kajabi",
              "other",
              "import_with_email_ai"
            ]
          },
          "importURL": {
            "type": "string",
            "example": "https://tplshare.com/fhYJ3Mi"
          },
          "templateSource": {
            "type": "string",
            "example": "template_library"
          },
          "isPlainText": {
            "type": "boolean",
            "example": false
          },
          "subjectLine": {
            "type": "string",
            "example": "Email Subject"
          },
          "fromName": {
            "type": "string",
            "example": "Name of sender"
          },
          "fromEmail": {
            "type": "string",
            "example": "test@abc.com"
          },
          "previewText": {
            "type": "string",
            "example": "preview text"
          }
        },
        "required": [
          "locationId",
          "type",
          "importProvider"
        ]
      },
      "emails_v3_CreateBuilderSuccesfulResponseDto": {
        "type": "object",
        "properties": {
          "redirect": {
            "type": "string",
            "example": "66e811229245fc098765590",
            "description": "template id"
          },
          "traceId": {
            "type": "string",
            "example": "0c52e980-41f6-4be7-8c4b-e2c5a13dc3c2",
            "description": "trace id"
          }
        },
        "required": [
          "redirect",
          "traceId"
        ]
      },
      "emails_v3_FetchBuilderSuccesfulResponseDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "New Template",
            "description": "template name"
          },
          "updatedBy": {
            "type": "string",
            "example": "John Doe",
            "description": "updated by"
          },
          "isPlainText": {
            "type": "boolean",
            "example": "false",
            "description": "plain text based template"
          },
          "lastUpdated": {
            "type": "string",
            "example": "2024-11-12T12:34:36.070Z",
            "description": "last updated"
          },
          "dateAdded": {
            "type": "string",
            "example": "2024-11-12T12:34:36.070Z",
            "description": "date added"
          },
          "previewUrl": {
            "type": "string",
            "example": "https://example.com",
            "description": "preview url"
          },
          "id": {
            "type": "string",
            "example": "67334b231f2fad724062f52b5",
            "description": "id"
          },
          "version": {
            "type": "string",
            "example": "1",
            "description": "version"
          },
          "templateType": {
            "type": "string",
            "example": "builder",
            "description": "type"
          }
        }
      },
      "emails_v3_DeleteBuilderSuccesfulResponseDto": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "string",
            "example": "true",
            "description": "ok"
          },
          "traceId": {
            "type": "string",
            "example": "0c52e980-41f6-4be7-8c4b-32332ss",
            "description": "trace id"
          }
        }
      },
      "emails_v3_TemplateSettings": {
        "type": "object",
        "properties": {}
      },
      "emails_v3_IBuilderJsonMapper": {
        "type": "object",
        "properties": {
          "elements": {
            "description": "Array of VNode elements representing the email structure",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "attrs": {
            "type": "object",
            "description": "Object mapping element IDs to their attributes and styles"
          },
          "templateSettings": {
            "description": "Template-level settings and configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_TemplateSettings"
              }
            ]
          }
        },
        "required": [
          "elements",
          "attrs",
          "templateSettings"
        ]
      },
      "emails_v3_SaveBuilderDataDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "templateId": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "updatedBy": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "dnd": {
            "example": "{elements:[], attrs:{}, templateSettings:{}}",
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_IBuilderJsonMapper"
              }
            ]
          },
          "html": {
            "type": "string",
            "example": ""
          },
          "editorType": {
            "type": "string",
            "enum": [
              "html",
              "builder"
            ]
          },
          "previewText": {
            "type": "string",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "isPlainText": {
            "type": "boolean",
            "example": "false"
          },
          "usedEmailAI": {
            "type": "boolean",
            "example": false,
            "description": "Whether Email AI was used"
          }
        },
        "required": [
          "locationId",
          "templateId",
          "updatedBy",
          "dnd",
          "html",
          "editorType"
        ]
      },
      "emails_v3_BuilderUpdateSuccessfulDTO": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "string",
            "example": "true",
            "description": "ok"
          },
          "traceId": {
            "type": "string",
            "example": "0c52e980-41f6-4be7-8c4b-32332ss",
            "description": "trace id"
          },
          "previewUrl": {
            "type": "string",
            "example": "https://example.com",
            "description": "preview url"
          },
          "templateDownloadUrl": {
            "type": "string",
            "example": "https://example.com",
            "description": "template data download url"
          },
          "versionId": {
            "type": "string",
            "example": "507f1f77bcf86cd799439011",
            "description": "version id of the saved template"
          }
        }
      },
      "emails_v3_UpdateEmailTemplateDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID where the template belongs",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "updatedBy": {
            "type": "string",
            "description": "User ID who is updating the template",
            "example": "zYy3YOUuHxgomU1uYJty"
          },
          "editorContent": {
            "description": "Editor content - can be HTML string, plain text string, or DND builder object depending on editorType. When editorType is \"html\" or \"text\", this should be a string. When editorType is \"builder\", this should be a DND object with elements, attrs, and templateSettings. Must be provided together with editorType.",
            "oneOf": [
              {
                "type": "string",
                "example": "<html><body>Hello World</body></html>"
              },
              {
                "$ref": "#/components/schemas/emails_v3_IBuilderJsonMapper"
              }
            ]
          },
          "editorType": {
            "type": "string",
            "enum": [
              "html",
              "builder",
              "text"
            ],
            "description": "Type of editor content: \"html\" for HTML content, \"text\" for plain text content, \"builder\" for drag-and-drop builder content. Must be provided together with editorContent.",
            "example": "html"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text shown in email clients before opening",
            "example": "Email preview text"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name displayed in email",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Newsletter Template"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the template is archived",
            "example": false
          },
          "fieldDefaults": {
            "type": "object",
            "description": "Field-level default values for custom variables in template fields (fromName, subjectLine, previewText)",
            "example": {
              "subjectLine": {
                "contact.first_name:0": "Friend"
              }
            }
          }
        },
        "required": [
          "locationId"
        ]
      },
      "emails_v3_UpdateEmailTemplateResponseDto": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Indicates if the update was successful",
            "example": true
          },
          "id": {
            "type": "string",
            "description": "Unique template identifier",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "My Email Template"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the template is archived",
            "example": false
          },
          "builderVersion": {
            "type": "string",
            "description": "Builder version used for the template",
            "example": "2"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name displayed in email",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text shown in email clients",
            "example": "Check out our latest updates"
          },
          "previewUrl": {
            "type": "string",
            "description": "URL to preview the rendered template",
            "example": "https://example.com/preview/template123"
          },
          "type": {
            "type": "string",
            "description": "Type of template editor used",
            "enum": [
              "html",
              "builder"
            ],
            "example": "builder"
          },
          "lastUpdated": {
            "type": "string",
            "description": "Timestamp of last update",
            "example": "2024-01-15T10:30:00Z"
          },
          "createdAt": {
            "type": "string",
            "description": "Timestamp when template was created",
            "example": "2024-01-01T08:00:00Z"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether the template contains plain text content (true) or HTML content (false)",
            "example": false
          },
          "fieldDefaults": {
            "type": "object",
            "description": "Field-level default values for custom variables in template fields",
            "example": {
              "subjectLine": {
                "contact.first_name:0": "Friend"
              }
            }
          }
        },
        "required": [
          "ok",
          "id",
          "name",
          "archived",
          "builderVersion",
          "fromName",
          "fromEmail",
          "subjectLine",
          "previewText",
          "previewUrl",
          "type",
          "lastUpdated",
          "createdAt",
          "isPlainText"
        ]
      },
      "emails_v3_BuilderElementNodePublicV2Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Element ID",
            "example": "mj-text-123"
          },
          "tagName": {
            "type": "string",
            "description": "Tag name",
            "example": "mj-text"
          },
          "children": {
            "description": "Child elements",
            "example": [
              {
                "id": "mj-column-1",
                "tagName": "mj-column"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_BuilderElementNodePublicV2Dto"
            }
          }
        },
        "required": [
          "id",
          "tagName"
        ]
      },
      "emails_v3_BuilderEditorContentPublicV2Dto": {
        "type": "object",
        "properties": {
          "elements": {
            "description": "Builder elements",
            "example": [
              {
                "id": "mj-body-1",
                "tagName": "mj-body",
                "children": []
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_BuilderElementNodePublicV2Dto"
            }
          },
          "attrs": {
            "type": "object",
            "description": "Builder attributes map keyed by element ID",
            "additionalProperties": {
              "$ref": "#/components/schemas/emails_v3_BuilderNodeAttrsPublicV2Dto"
            },
            "example": {
              "mj-text-123": {
                "tagName": "mj-text",
                "attributes": [
                  {
                    "name": "padding",
                    "default": "10px"
                  }
                ]
              }
            }
          },
          "templateSettings": {
            "type": "object",
            "description": "Template-level settings map keyed by setting group",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/emails_v3_BuilderAttributePublicV2Dto"
              }
            },
            "example": {
              "mj-all": [
                {
                  "name": "font-family",
                  "default": "Arial, sans-serif"
                }
              ]
            }
          }
        }
      },
      "emails_v3_BuilderAttributePublicV2Dto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Attribute name",
            "example": "padding"
          },
          "default": {
            "type": "object",
            "description": "Attribute default value",
            "example": "10px"
          },
          "unit": {
            "type": "string",
            "description": "Attribute unit",
            "example": "px"
          }
        },
        "required": [
          "name"
        ]
      },
      "emails_v3_BuilderCustomFlagsPublicV2Dto": {
        "type": "object",
        "properties": {
          "layoutId": {
            "type": "object",
            "description": "Layout ID",
            "example": "hero-layout"
          },
          "theme": {
            "type": "string",
            "description": "Theme name",
            "example": "clean"
          },
          "socialElementType": {
            "type": "string",
            "enum": [
              "icon",
              "icon-text",
              "text"
            ],
            "description": "Social element rendering type"
          }
        }
      },
      "emails_v3_BuilderNodeAttrsPublicV2Dto": {
        "type": "object",
        "properties": {
          "tagName": {
            "type": "string",
            "description": "Tag name",
            "example": "mj-text"
          },
          "attributes": {
            "description": "Element attributes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_BuilderAttributePublicV2Dto"
            }
          },
          "content": {
            "type": "string",
            "description": "Element content",
            "example": "Hello world"
          },
          "customFlags": {
            "description": "Custom flags",
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_BuilderCustomFlagsPublicV2Dto"
              }
            ]
          }
        },
        "required": [
          "tagName",
          "attributes"
        ]
      },
      "emails_v3_CreateTemplatePublicV2BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Newsletter Template"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type for the new template. Use `html` for code-editor templates or `text` for plain-text templates.",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "editorContent": {
            "type": "string",
            "description": "Optional initial editor content. Provide HTML or plain-text string content.",
            "example": "<html><body>Hello World</body></html>"
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Email preview text"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "name",
          "editorType"
        ]
      },
      "emails_v3_CreateTemplatePublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Template ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Newsletter Template"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether template is plain text",
            "example": false
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Email preview text"
          },
          "previewUrl": {
            "type": "string",
            "description": "Preview URL",
            "example": "https://example.com/preview/template123"
          },
          "createdAt": {
            "type": "string",
            "description": "Created timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "editorType",
          "isPlainText"
        ]
      },
      "emails_v3_ImportTemplatePublicV2BodyDto": {
        "type": "object",
        "properties": {
          "importProvider": {
            "type": "string",
            "description": "Import provider (URL-based providers only)",
            "enum": [
              "mailchimp",
              "active_campaign"
            ],
            "example": "mailchimp"
          },
          "importUrl": {
            "type": "string",
            "description": "Public import URL",
            "example": "https://templates.example.com/public/template-123"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Imported Template"
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "importProvider",
          "importUrl"
        ]
      },
      "emails_v3_ImportTemplatePublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Template ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Newsletter Template"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether template is plain text",
            "example": false
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Email preview text"
          },
          "previewUrl": {
            "type": "string",
            "description": "Preview URL",
            "example": "https://example.com/preview/template123"
          },
          "createdAt": {
            "type": "string",
            "description": "Created timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "editorType",
          "isPlainText"
        ]
      },
      "emails_v3_CreateTemplateFolderPublicV2BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Folder name",
            "example": "Spring Campaigns"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "name"
        ]
      },
      "emails_v3_CreateTemplateFolderPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Folder ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "name": {
            "type": "string",
            "description": "Folder name",
            "example": "Spring Campaigns"
          },
          "createdAt": {
            "type": "string",
            "description": "Created timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "emails_v3_TemplateListItemPublicV2Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "name": {
            "type": "string",
            "description": "Resource name",
            "example": "February Newsletter"
          },
          "type": {
            "type": "string",
            "description": "Resource type",
            "enum": [
              "template",
              "folder"
            ],
            "example": "template"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether template is plain text",
            "example": false
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "createdAt": {
            "type": "string",
            "description": "Created timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "previewUrl": {
            "type": "string",
            "description": "Preview URL",
            "example": "https://example.com/preview"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type for template resources",
            "enum": [
              "html",
              "builder",
              "text"
            ],
            "example": "builder"
          },
          "childCount": {
            "type": "number",
            "description": "Children count for folder resources",
            "example": 3
          },
          "hasChildren": {
            "type": "boolean",
            "description": "Whether folder has child resources",
            "example": true
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ]
      },
      "emails_v3_ListTemplatesPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "description": "List of template and folder resources",
            "example": [
              {
                "id": "67f15c2ae99226d5bcccb8f3",
                "name": "February Newsletter",
                "type": "template"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_TemplateListItemPublicV2Dto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of templates and folders",
            "example": 25
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "items",
          "total"
        ]
      },
      "emails_v3_GetTemplatePublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Template ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Newsletter Template"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type",
            "enum": [
              "html",
              "builder",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether template is plain text",
            "example": false
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subject": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Email preview text"
          },
          "editorContentUrl": {
            "type": "string",
            "description": "URL to fetch the rendered template content as HTML. Issue a GET against this URL to retrieve the body.",
            "example": "https://storage.googleapis.com/email-templates/abc123.html"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the template is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "editorType",
          "isPlainText",
          "deleted"
        ]
      },
      "emails_v3_DeleteTemplatePublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the template was deleted successfully",
            "example": true
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "0c52e980-41f6-4be7-8c4b-32332ss"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "emails_v3_UpdateTemplatePublicV2BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "Newsletter Template"
          },
          "editorContent": {
            "type": "string",
            "description": "Editor content to update. Required only when updating template content, and must be provided together with editorType. Provide HTML or plain-text string content.",
            "example": "<html><body>Hello World</body></html>"
          },
          "editorType": {
            "type": "string",
            "description": "Type of editor content. Required only when updating template content, and must be provided together with editorContent.",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Email preview text"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether template is archived",
            "example": false
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID. Pass `null` to move template to the root level.",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439011"
          }
        }
      },
      "emails_v3_UpdateTemplatePublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Template ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "name": {
            "type": "string",
            "description": "Template name",
            "example": "My Email Template"
          },
          "archived": {
            "type": "boolean",
            "description": "Whether template is archived",
            "example": false
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subjectLine": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Check out our latest updates"
          },
          "previewUrl": {
            "type": "string",
            "description": "Preview URL",
            "example": "https://example.com/preview/template123"
          },
          "editorType": {
            "type": "string",
            "description": "Template type",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether template is plain text",
            "example": false
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "createdAt": {
            "type": "string",
            "description": "Created timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "name",
          "archived",
          "fromName",
          "fromEmail",
          "subjectLine",
          "previewText",
          "previewUrl"
        ]
      },
      "emails_v3_EmailStatsNumbersDto": {
        "type": "object",
        "properties": {
          "delivered": {
            "type": "number",
            "description": "Emails delivered",
            "example": 1000
          },
          "opened": {
            "type": "number",
            "description": "Emails opened",
            "example": 450
          },
          "clicked": {
            "type": "number",
            "description": "Links clicked",
            "example": 120
          },
          "unsubscribed": {
            "type": "number",
            "description": "Unsubscribes",
            "example": 5
          },
          "complained": {
            "type": "number",
            "description": "Spam complaints",
            "example": 2
          },
          "permanentFail": {
            "type": "number",
            "description": "Hard bounces",
            "example": 15
          },
          "temporaryFail": {
            "type": "number",
            "description": "Soft bounces",
            "example": 3
          },
          "rejected": {
            "type": "number",
            "description": "Rejected emails",
            "example": 10
          },
          "failed": {
            "type": "number",
            "description": "Failed emails",
            "example": 5
          },
          "replied": {
            "type": "number",
            "description": "Replies received",
            "example": 25
          }
        },
        "required": [
          "delivered",
          "opened",
          "clicked",
          "unsubscribed",
          "complained",
          "permanentFail",
          "temporaryFail",
          "rejected",
          "failed",
          "replied"
        ]
      },
      "emails_v3_GetCampaignStatsResponseDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "abc123"
          },
          "source": {
            "type": "string",
            "description": "Source type",
            "enum": [
              "email-campaigns",
              "workflow-campaigns",
              "bulk-actions"
            ],
            "example": "email-campaigns"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID",
            "example": "campaign123"
          },
          "subSourceId": {
            "type": "string",
            "description": "Workflow action ID",
            "example": "step001"
          },
          "stats": {
            "description": "Email performance metrics",
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_EmailStatsNumbersDto"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "source",
          "sourceId",
          "stats"
        ]
      },
      "emails_v3_EmailStatsNumbersPublicV2Dto": {
        "type": "object",
        "properties": {
          "sent": {
            "type": "number",
            "description": "Total emails sent (delivered + accepted + bounced)",
            "example": 1020
          },
          "accepted": {
            "type": "number",
            "description": "Emails accepted by the mail server",
            "example": 5
          },
          "delivered": {
            "type": "number",
            "description": "Emails delivered to inbox",
            "example": 1000
          },
          "opened": {
            "type": "number",
            "description": "Emails opened",
            "example": 450
          },
          "clicked": {
            "type": "number",
            "description": "Links clicked",
            "example": 120
          },
          "unsubscribed": {
            "type": "number",
            "description": "Unsubscribes",
            "example": 5
          },
          "complained": {
            "type": "number",
            "description": "Spam complaints",
            "example": 2
          },
          "permanentFail": {
            "type": "number",
            "description": "Hard bounces",
            "example": 15
          },
          "temporaryFail": {
            "type": "number",
            "description": "Soft bounces",
            "example": 3
          },
          "rejected": {
            "type": "number",
            "description": "Rejected emails",
            "example": 10
          },
          "failed": {
            "type": "number",
            "description": "Failed emails",
            "example": 5
          },
          "replied": {
            "type": "number",
            "description": "Replies received",
            "example": 25
          },
          "openRate": {
            "type": "number",
            "description": "Open rate as percentage of delivered",
            "example": 45
          },
          "clickRate": {
            "type": "number",
            "description": "Click rate as percentage of delivered",
            "example": 12
          },
          "unsubscribeRate": {
            "type": "number",
            "description": "Unsubscribe rate as percentage of delivered",
            "example": 0.5
          },
          "complaintRate": {
            "type": "number",
            "description": "Complaint rate as percentage of delivered",
            "example": 0.2
          },
          "bounceRate": {
            "type": "number",
            "description": "Bounce rate as percentage of sent",
            "example": 1.76
          },
          "replyRate": {
            "type": "number",
            "description": "Reply rate as percentage of delivered",
            "example": 2.5
          }
        },
        "required": [
          "sent",
          "accepted",
          "delivered",
          "opened",
          "clicked",
          "unsubscribed",
          "complained",
          "permanentFail",
          "temporaryFail",
          "rejected",
          "failed",
          "replied",
          "openRate",
          "clickRate",
          "unsubscribeRate",
          "complaintRate",
          "bounceRate",
          "replyRate"
        ]
      },
      "emails_v3_GetCampaignStatsPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "abc123"
          },
          "source": {
            "type": "string",
            "description": "Source type",
            "enum": [
              "email-campaigns",
              "workflow-campaigns",
              "bulk-actions"
            ],
            "example": "email-campaigns"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID",
            "example": "campaign123"
          },
          "subSourceId": {
            "type": "string",
            "description": "Workflow action ID",
            "example": "step001"
          },
          "stats": {
            "description": "Email performance metrics",
            "example": {
              "sent": 1020,
              "accepted": 5,
              "delivered": 1000,
              "opened": 450,
              "clicked": 120,
              "unsubscribed": 5,
              "complained": 2,
              "permanentFail": 15,
              "temporaryFail": 3,
              "rejected": 10,
              "failed": 5,
              "replied": 25,
              "openRate": 45,
              "clickRate": 12,
              "unsubscribeRate": 0.5,
              "complaintRate": 0.2,
              "bounceRate": 1.76,
              "replyRate": 2.5
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_EmailStatsNumbersPublicV2Dto"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "locationId",
          "source",
          "sourceId",
          "stats"
        ]
      },
      "emails_v3_WorkflowCampaignPublicDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "693bd14ea6b50a8df0180e9a"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "sorting workflow"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "published",
            "enum": [
              "published",
              "draft"
            ]
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID",
            "example": "115b9030-907c-474c-90a5-2debd838a024"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-12-12T08:24:46.700Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2026-01-23T05:58:48.453Z"
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "sourceId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_GetWorkflowCampaignsPublicResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "description": "List of workflow campaigns",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_WorkflowCampaignPublicDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of campaigns",
            "example": 50
          }
        },
        "required": [
          "campaigns",
          "total"
        ]
      },
      "emails_v3_BulkActionCampaignEmailDetailsDto": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our platform"
          },
          "from": {
            "type": "string",
            "description": "Sender (name and email)",
            "example": "John Doe <john@example.com>"
          },
          "name": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "templateId": {
            "type": "string",
            "description": "Email template ID",
            "example": "6790aeb53c8d1288f555f92b"
          }
        }
      },
      "emails_v3_BulkActionCampaignDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "OI72xYec4Mho6VBykTvj"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Test Mail"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "complete",
            "enum": [
              "processing",
              "scheduled",
              "paused",
              "complete",
              "cancelled"
            ]
          },
          "scheduleType": {
            "type": "string",
            "description": "Schedule type (NOW or SCHEDULED)",
            "example": "NOW"
          },
          "createdBy": {
            "type": "string",
            "description": "User who created the campaign",
            "example": "John Doe"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "completedAt": {
            "type": "string",
            "description": "Processing completion timestamp",
            "example": "2025-07-24T11:55:48.000Z"
          },
          "emailMetadata": {
            "description": "Email metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_BulkActionCampaignEmailDetailsDto"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "scheduleType",
          "createdBy",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_GetBulkActionCampaignsResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "description": "List of bulk action campaigns",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_BulkActionCampaignDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of bulk action campaigns",
            "example": 25
          }
        },
        "required": [
          "campaigns",
          "total"
        ]
      },
      "emails_v3_CreateEmailCampaignPublicV2BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Untitled campaign name"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type for the campaign content. Use `html` for code-editor campaigns or `text` for plain-text campaigns.",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "templateId": {
            "type": "string",
            "description": "Existing template ID to create the campaign from. Omit this field to create a blank campaign.",
            "example": "507f1f77bcf86cd799439011"
          },
          "editorContent": {
            "type": "string",
            "description": "Optional initial editor content to persist immediately after campaign creation. Provide HTML or plain-text string content.",
            "example": "<html><body>Hello World</body></html>"
          },
          "parentFolderId": {
            "type": "string",
            "description": "Parent folder ID",
            "example": "67f15c2ae99226d5bcccb8f0"
          },
          "timeZone": {
            "type": "string",
            "description": "Timezone for the campaign",
            "example": "Asia/Kolkata"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439099"
          },
          "userName": {
            "type": "string",
            "description": "Name of the user performing this action",
            "example": "John Doe"
          }
        },
        "required": [
          "name",
          "editorType",
          "timeZone",
          "userId"
        ]
      },
      "emails_v3_EmailCampaignVariationPublicV2Dto": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "description": "Variation source ID for stats lookup",
            "example": "9MhVcU7dTdLI7XOU1Vdt"
          },
          "isWinner": {
            "type": "boolean",
            "description": "Whether this is the winning variation",
            "example": true
          }
        },
        "required": [
          "sourceId",
          "isWinner"
        ]
      },
      "emails_v3_CreateEmailCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "email-campaign"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "bulkRequest_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "February Newsletter"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "sent",
            "enum": [
              "all",
              "sent",
              "failed",
              "archived",
              "draft",
              "processing",
              "scheduled",
              "cancelled",
              "paused"
            ]
          },
          "campaignType": {
            "type": "string",
            "description": "Campaign type",
            "example": "bulk-email"
          },
          "campaignCategory": {
            "type": "string",
            "description": "Campaign category",
            "example": "email-campaign"
          },
          "variations": {
            "description": "AB test variation identifiers (available only for AB test campaigns)",
            "example": [
              {
                "sourceId": "9MhVcU7dTdLI7XOU1Vdt",
                "isWinner": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_EmailCampaignVariationPublicV2Dto"
            }
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_EmailCampaignPublicV2Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "email-campaign"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "bulkRequest_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "February Newsletter"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "sent",
            "enum": [
              "all",
              "sent",
              "failed",
              "archived",
              "draft",
              "processing",
              "scheduled",
              "cancelled",
              "paused"
            ]
          },
          "campaignType": {
            "type": "string",
            "description": "Campaign type",
            "example": "bulk-email"
          },
          "campaignCategory": {
            "type": "string",
            "description": "Campaign category",
            "example": "email-campaign"
          },
          "variations": {
            "description": "AB test variation identifiers (available only for AB test campaigns)",
            "example": [
              {
                "sourceId": "9MhVcU7dTdLI7XOU1Vdt",
                "isWinner": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_EmailCampaignVariationPublicV2Dto"
            }
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          }
        },
        "required": [
          "id",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_ListEmailCampaignsPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "description": "List of email campaigns",
            "example": [
              {
                "id": "67f15c2ae99226d5bcccb8f3",
                "name": "February Newsletter",
                "status": "sent",
                "deleted": false,
                "createdAt": "2025-07-24T11:55:43.598Z",
                "updatedAt": "2026-02-09T04:49:12.322Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_EmailCampaignPublicV2Dto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of email campaigns",
            "example": 25
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "campaigns",
          "total"
        ]
      },
      "emails_v3_UpdateEmailCampaignPublicV2BodyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Untitled campaign name"
          },
          "editorContent": {
            "type": "string",
            "description": "Editor content to update. Required only when updating campaign content, and must be provided together with editorType. Provide HTML or plain-text string content.",
            "example": "<html><body>Hello World</body></html>"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type for campaign content. Required only when updating campaign content, and must be provided together with editorContent.",
            "enum": [
              "html",
              "text"
            ],
            "example": "html"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439011"
          }
        }
      },
      "emails_v3_UpdateEmailCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "email-campaign"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "bulkRequest_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "February Newsletter"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "sent",
            "enum": [
              "all",
              "sent",
              "failed",
              "archived",
              "draft",
              "processing",
              "scheduled",
              "cancelled",
              "paused"
            ]
          },
          "campaignType": {
            "type": "string",
            "description": "Campaign type",
            "example": "bulk-email"
          },
          "campaignCategory": {
            "type": "string",
            "description": "Campaign category",
            "example": "email-campaign"
          },
          "variations": {
            "description": "AB test variation identifiers (available only for AB test campaigns)",
            "example": [
              {
                "sourceId": "9MhVcU7dTdLI7XOU1Vdt",
                "isWinner": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_EmailCampaignVariationPublicV2Dto"
            }
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_GetEmailCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "email-campaign"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "bulkRequest_abc123"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "February Newsletter"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "sent",
            "enum": [
              "all",
              "sent",
              "failed",
              "archived",
              "draft",
              "processing",
              "scheduled",
              "cancelled",
              "paused"
            ]
          },
          "campaignType": {
            "type": "string",
            "description": "Campaign delivery type",
            "example": "bulk-email"
          },
          "campaignCategory": {
            "type": "string",
            "description": "Campaign category",
            "example": "normal"
          },
          "variations": {
            "description": "AB test variation identifiers (available only for AB test campaigns)",
            "example": [
              {
                "sourceId": "9MhVcU7dTdLI7XOU1Vdt",
                "isWinner": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_EmailCampaignVariationPublicV2Dto"
            }
          },
          "editorType": {
            "type": "string",
            "description": "Original editor type the campaign was created with",
            "enum": [
              "html",
              "builder",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether the campaign uses plain text",
            "example": false
          },
          "editorContentUrl": {
            "type": "string",
            "description": "URL to fetch the rendered campaign content as HTML. Issue a GET against this URL to retrieve the body.",
            "example": "https://storage.googleapis.com/email-templates/abc123.html"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subject": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "replyToAddress": {
            "type": "string",
            "description": "Reply-to email address",
            "example": "reply@example.com"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Check out our latest updates"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_WorkflowCampaignPublicV2Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "693bd14ea6b50a8df0180e9a"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "sorting workflow"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "published",
            "enum": [
              "published",
              "draft"
            ]
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "workflow"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "115b9030-907c-474c-90a5-2debd838a024"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-12-12T08:24:46.700Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2026-01-23T05:58:48.453Z"
          }
        },
        "required": [
          "id",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_ListWorkflowCampaignsPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "description": "List of workflow campaigns",
            "example": [
              {
                "id": "693bd14ea6b50a8df0180e9a",
                "name": "sorting workflow",
                "status": "published",
                "createdAt": "2025-12-12T08:24:46.700Z",
                "updatedAt": "2026-01-23T05:58:48.453Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_WorkflowCampaignPublicV2Dto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of campaigns",
            "example": 50
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "campaigns",
          "total"
        ]
      },
      "emails_v3_WorkflowCampaignSubSourcePublicV2Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Sub-source identifier (workflow step). Pass this value as the `subSourceId` query parameter on the campaign stats endpoint to retrieve stats scoped to this step.",
            "example": "a3f1c0e2-6d4b-4f3a-9c1e-7b2d8f5a4c01"
          },
          "name": {
            "type": "string",
            "description": "Workflow step name",
            "example": "Send welcome email"
          },
          "subject": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Check out our latest updates"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type for this step",
            "enum": [
              "html",
              "builder",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether this step uses plain text",
            "example": false
          },
          "editorContentUrl": {
            "type": "string",
            "description": "URL to fetch the rendered step content as HTML. Issue a GET against this URL to retrieve the body.",
            "example": "https://storage.googleapis.com/email-templates/abc123.html"
          },
          "createdAt": {
            "type": "string",
            "description": "Timestamp when this step was added to the workflow",
            "example": "2025-12-12T08:24:46.700Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Timestamp when this step was last updated",
            "example": "2026-01-23T05:58:48.453Z"
          }
        },
        "required": [
          "id"
        ]
      },
      "emails_v3_GetWorkflowCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "693bd14ea6b50a8df0180e9a"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "sorting workflow"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "published",
            "enum": [
              "published",
              "draft"
            ]
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "workflow"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "115b9030-907c-474c-90a5-2debd838a024"
          },
          "subSources": {
            "description": "Sub-sources (email-sending steps) within this workflow. Each entry's `id` can be passed as the `subSourceId` query parameter to the campaign stats endpoint to retrieve per-step stats.",
            "example": [
              {
                "id": "a3f1c0e2-6d4b-4f3a-9c1e-7b2d8f5a4c01",
                "name": "Send welcome email",
                "subject": "Welcome to our newsletter",
                "fromName": "John Doe",
                "fromEmail": "john@example.com",
                "previewText": "Check out our latest updates",
                "editorType": "html",
                "isPlainText": false,
                "editorContentUrl": "https://storage.googleapis.com/email-templates/abc123.html",
                "createdAt": "2025-12-12T08:24:46.700Z",
                "updatedAt": "2026-01-23T05:58:48.453Z"
              },
              {
                "id": "b7d9e4f1-2a0c-4f8e-bf2a-5e1d3c9b6a02",
                "name": "Follow-up after 3 days",
                "subject": "Quick follow-up",
                "fromName": "John Doe",
                "fromEmail": "john@example.com",
                "editorType": "builder",
                "isPlainText": false,
                "createdAt": "2025-12-13T10:15:22.300Z",
                "updatedAt": "2026-01-20T09:42:11.100Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_WorkflowCampaignSubSourcePublicV2Dto"
            }
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-12-12T08:24:46.700Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Updated at timestamp",
            "example": "2026-01-23T05:58:48.453Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_BulkActionCampaignPublicV2Dto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "OI72xYec4Mho6VBykTvj"
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "email-marketing"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "115b9030-907c-474c-90a5-2debd838a024"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Test Mail"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "complete",
            "enum": [
              "processing",
              "scheduled",
              "paused",
              "complete",
              "cancelled"
            ]
          },
          "scheduleType": {
            "type": "string",
            "description": "Schedule type (NOW, SCHEDULED, or DRIP)",
            "example": "SCHEDULED",
            "enum": [
              "NOW",
              "SCHEDULED",
              "DRIP"
            ]
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "completedAt": {
            "type": "string",
            "description": "Processing completion timestamp",
            "example": "2025-07-24T11:55:48.000Z"
          },
          "emailMetadata": {
            "description": "Email metadata",
            "example": {
              "subject": "Welcome to our platform",
              "from": "John Doe <john@example.com>",
              "templateId": "6790aeb53c8d1288f555f92b"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_BulkActionCampaignEmailDetailsDto"
              }
            ]
          }
        },
        "required": [
          "id",
          "status",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_ListBulkActionCampaignsPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "campaigns": {
            "description": "List of bulk action campaigns",
            "example": [
              {
                "id": "OI72xYec4Mho6VBykTvj",
                "name": "Test Mail",
                "status": "complete",
                "deleted": false,
                "createdAt": "2025-07-24T11:55:43.598Z",
                "updatedAt": "2026-02-09T04:49:12.322Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_BulkActionCampaignPublicV2Dto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total count of bulk action campaigns",
            "example": 25
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "campaigns",
          "total"
        ]
      },
      "emails_v3_GetBulkActionCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Campaign ID",
            "example": "OI72xYec4Mho6VBykTvj"
          },
          "source": {
            "type": "string",
            "description": "Source of the campaign",
            "example": "email-marketing"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID of the campaign",
            "example": "115b9030-907c-474c-90a5-2debd838a024"
          },
          "name": {
            "type": "string",
            "description": "Campaign name",
            "example": "Test Mail"
          },
          "status": {
            "type": "string",
            "description": "Campaign status",
            "example": "complete",
            "enum": [
              "processing",
              "scheduled",
              "paused",
              "complete",
              "cancelled"
            ]
          },
          "scheduleType": {
            "type": "string",
            "description": "Schedule type (NOW, SCHEDULED, or DRIP)",
            "example": "SCHEDULED",
            "enum": [
              "NOW",
              "SCHEDULED",
              "DRIP"
            ]
          },
          "fromName": {
            "type": "string",
            "description": "Sender name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "subject": {
            "type": "string",
            "description": "Email subject line",
            "example": "Welcome to our newsletter"
          },
          "replyToAddress": {
            "type": "string",
            "description": "Reply-to email address",
            "example": "reply@example.com"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text",
            "example": "Check out our latest updates"
          },
          "editorType": {
            "type": "string",
            "description": "Editor type for this campaign",
            "enum": [
              "html",
              "builder",
              "text"
            ],
            "example": "html"
          },
          "isPlainText": {
            "type": "boolean",
            "description": "Whether the campaign uses plain text",
            "example": false
          },
          "editorContentUrl": {
            "type": "string",
            "description": "URL to fetch the rendered campaign content as HTML. Issue a GET against this URL to retrieve the body.",
            "example": "https://storage.googleapis.com/email-templates/abc123.html"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Created at timestamp",
            "example": "2025-07-24T11:55:43.598Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2026-02-09T04:49:12.322Z"
          },
          "completedAt": {
            "type": "string",
            "description": "Processing completion timestamp",
            "example": "2025-07-24T11:55:48.000Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "id",
          "status",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "emails_v3_ScheduleCampaignEmailMetaPublicV2Dto": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "description": "Email subject line",
            "example": "Our February Newsletter"
          },
          "fromName": {
            "type": "string",
            "description": "Sender display name",
            "example": "John Doe"
          },
          "fromEmail": {
            "type": "string",
            "description": "Sender email address",
            "example": "john@example.com"
          },
          "replyToAddress": {
            "type": "string",
            "description": "Reply-to email address",
            "example": "reply@example.com"
          },
          "previewText": {
            "type": "string",
            "description": "Preview text shown in inbox after subject",
            "example": "Check out our latest news"
          },
          "attachments": {
            "description": "Attachment download URLs",
            "example": [
              "https://example.com/file.pdf"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "subject",
          "fromName",
          "fromEmail"
        ]
      },
      "emails_v3_ScheduleCampaignRecipientsPublicV2Dto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Recipient selection type",
            "enum": [
              "contact",
              "tag",
              "segment"
            ],
            "example": "contact"
          },
          "contactIds": {
            "description": "Contact IDs to send to. Required when type is contact.",
            "example": [
              "contactId1",
              "contactId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tagIds": {
            "description": "Tag IDs to filter recipients by. Required when type is tag.",
            "example": [
              "tagId1",
              "tagId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "segment": {
            "type": "string",
            "description": "Segment type for pre-built segments. Required when type is segment.",
            "enum": [
              "engaged_last_7_days",
              "engaged_last_30_days",
              "engaged_last_60_days",
              "engaged_last_5_campaigns",
              "unengaged_last_5_campaigns"
            ],
            "example": "engaged_last_7_days"
          },
          "freezeList": {
            "type": "boolean",
            "description": "Freeze the contact list at schedule time — new matching contacts will not be added later",
            "example": true,
            "default": true
          }
        },
        "required": [
          "type"
        ]
      },
      "emails_v3_ScheduleCampaignBatchConfigPublicV2Dto": {
        "type": "object",
        "properties": {
          "batchSize": {
            "type": "number",
            "description": "Number of contacts to process per batch",
            "example": 100
          },
          "interval": {
            "type": "number",
            "description": "Delay between batches",
            "example": 2
          },
          "intervalUnit": {
            "type": "string",
            "description": "Unit for the interval",
            "example": "hours",
            "enum": [
              "minutes",
              "hours",
              "days"
            ]
          },
          "skipDays": {
            "type": "array",
            "description": "Days to skip sending",
            "example": [
              "Sat",
              "Sun"
            ],
            "items": {
              "type": "string",
              "enum": [
                "Mon",
                "Tue",
                "Wed",
                "Thu",
                "Fri",
                "Sat",
                "Sun"
              ]
            }
          },
          "windowStart": {
            "type": "string",
            "description": "Earliest time to send batches",
            "example": "09:00 AM"
          },
          "windowEnd": {
            "type": "string",
            "description": "Latest time to send batches",
            "example": "05:00 PM"
          }
        },
        "required": [
          "batchSize",
          "interval",
          "intervalUnit"
        ]
      },
      "emails_v3_ScheduleCampaignTrackingPublicV2Dto": {
        "type": "object",
        "properties": {
          "clickTracking": {
            "type": "boolean",
            "description": "Enable click tracking on links",
            "example": true
          },
          "utmTracking": {
            "type": "boolean",
            "description": "Enable UTM parameters on links",
            "example": false
          }
        }
      },
      "emails_v3_ScheduleCampaignResendPublicV2Dto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enable resend to contacts who did not open",
            "example": false
          },
          "waitHours": {
            "type": "number",
            "description": "Hours to wait before resending. Required when enabled is true.",
            "example": 12
          },
          "subject": {
            "type": "string",
            "description": "Override subject line for the resend email",
            "example": "Did you miss this?"
          }
        }
      },
      "emails_v3_ScheduleCampaignScheduleConfigPublicV2Dto": {
        "type": "object",
        "properties": {
          "sendAt": {
            "type": "string",
            "description": "Date/time to send. Required for scheduled, batch, and smart_send. Ignored for immediate.",
            "example": "2026-04-01 09:00 AM"
          },
          "batch": {
            "description": "Batch/drip configuration. Required when scheduleType is batch. Ignored otherwise.",
            "example": {
              "batchSize": 100,
              "interval": 2,
              "intervalUnit": "hours"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignBatchConfigPublicV2Dto"
              }
            ]
          },
          "tracking": {
            "description": "Click and UTM tracking options",
            "example": {
              "clickTracking": true,
              "utmTracking": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignTrackingPublicV2Dto"
              }
            ]
          },
          "resend": {
            "description": "Auto-resend to contacts who did not open",
            "example": {
              "enabled": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignResendPublicV2Dto"
              }
            ]
          },
          "emailPreferenceId": {
            "type": "string",
            "description": "Email preference type ID for categorizing this campaign",
            "example": "preference-type-id"
          }
        }
      },
      "emails_v3_ScheduleCampaignRssConfigPublicV2Dto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "RSS schedule name",
            "example": "Weekly Digest"
          },
          "rssFeedURL": {
            "type": "string",
            "description": "RSS feed URL",
            "example": "https://example.com/rss"
          },
          "repeatAfter": {
            "type": "string",
            "description": "How often to check the feed",
            "example": "every_day",
            "enum": [
              "every_day",
              "every_week",
              "every_month"
            ]
          },
          "repeatAfterTime": {
            "type": "string",
            "description": "Time of day to execute",
            "example": "09:00 AM"
          },
          "rssFeedLimit": {
            "type": "number",
            "description": "Max number of RSS items per email",
            "example": 10
          },
          "startAtDay": {
            "type": "string",
            "description": "Day of week for weekly RSS",
            "enum": [
              "Monday",
              "Tuesday",
              "Wednesday",
              "Thursday",
              "Friday",
              "Saturday",
              "Sunday"
            ],
            "example": "Monday"
          },
          "startAtMonthDay": {
            "type": "string",
            "description": "Day of month for monthly RSS",
            "example": "15"
          },
          "firstExecutionDate": {
            "type": "string",
            "description": "Override first execution date/time",
            "example": "2026-04-01 10:00:00"
          }
        },
        "required": [
          "name",
          "rssFeedURL",
          "repeatAfter",
          "repeatAfterTime"
        ]
      },
      "emails_v3_ScheduleCampaignABTestVariationPublicV2Dto": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "description": "Subject line for this variation",
            "example": "Subject A"
          },
          "documentId": {
            "type": "string",
            "description": "Template/document ID for this variation",
            "example": "507f1f77bcf86cd799439011"
          }
        }
      },
      "emails_v3_ScheduleCampaignABTestConfigPublicV2Dto": {
        "type": "object",
        "properties": {
          "testType": {
            "type": "string",
            "description": "What is being tested",
            "enum": [
              "emailContent",
              "subjectLine"
            ],
            "example": "subjectLine"
          },
          "testDuration": {
            "type": "number",
            "description": "Seconds to run the test before picking a winner",
            "example": 3600
          },
          "variationCount": {
            "type": "number",
            "description": "Number of variations",
            "example": 2
          },
          "testSize": {
            "type": "number",
            "description": "Percentage of contacts in the test group (0-100)",
            "example": 30
          },
          "winningCriteria": {
            "type": "string",
            "description": "How to pick the winner",
            "enum": [
              "openRate",
              "clickRate"
            ],
            "example": "openRate"
          },
          "variations": {
            "description": "A/B test variations",
            "example": [
              {
                "subject": "Subject A"
              },
              {
                "subject": "Subject B"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/emails_v3_ScheduleCampaignABTestVariationPublicV2Dto"
            }
          }
        },
        "required": [
          "testType",
          "testDuration",
          "variationCount",
          "testSize",
          "winningCriteria",
          "variations"
        ]
      },
      "emails_v3_ScheduleCampaignPublicV2BodyDto": {
        "type": "object",
        "properties": {
          "scheduleType": {
            "type": "string",
            "description": "How to schedule the campaign",
            "enum": [
              "immediate",
              "scheduled",
              "batch",
              "rss",
              "smart_send"
            ],
            "example": "immediate"
          },
          "timeZone": {
            "type": "string",
            "description": "IANA timezone",
            "example": "America/New_York"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user performing this action",
            "example": "507f1f77bcf86cd799439099"
          },
          "userName": {
            "type": "string",
            "description": "Name of the user performing this action",
            "example": "John Doe"
          },
          "emailMeta": {
            "description": "Email subject, sender, and content metadata",
            "example": {
              "subject": "Our February Newsletter",
              "fromName": "John Doe",
              "fromEmail": "john@example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignEmailMetaPublicV2Dto"
              }
            ]
          },
          "recipients": {
            "description": "Who receives the email. Must provide either contactIds or filter.",
            "example": {
              "type": "contact",
              "contactIds": [
                "contactId1",
                "contactId2"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignRecipientsPublicV2Dto"
              }
            ]
          },
          "sendDays": {
            "type": "array",
            "description": "Days of the week to allow sending. Used for batch and RSS scheduleTypes.",
            "example": [
              "Mon",
              "Tue",
              "Wed",
              "Thu",
              "Fri",
              "Sat",
              "Sun"
            ],
            "items": {
              "type": "string",
              "enum": [
                "Mon",
                "Tue",
                "Wed",
                "Thu",
                "Fri",
                "Sat",
                "Sun"
              ]
            }
          },
          "scheduleConfig": {
            "description": "Schedule configuration for immediate, scheduled, batch, and smart_send types. Required when scheduleType is not rss.",
            "example": {
              "sendAt": "2026-04-01 09:00 AM"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignScheduleConfigPublicV2Dto"
              }
            ]
          },
          "rssConfig": {
            "description": "RSS feed configuration. Required when scheduleType is rss.",
            "example": {
              "name": "Weekly Digest",
              "rssFeedURL": "https://example.com/rss",
              "repeatAfter": "every_day",
              "repeatAfterTime": "09:00 AM"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignRssConfigPublicV2Dto"
              }
            ]
          },
          "abTestConfig": {
            "description": "A/B test configuration. Can be combined with any scheduleType except rss.",
            "example": {
              "testType": "subjectLine",
              "testDuration": 3600,
              "variationCount": 2,
              "testSize": 30,
              "winningCriteria": "openRate",
              "variations": [
                {
                  "subject": "Subject A"
                },
                {
                  "subject": "Subject B"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/emails_v3_ScheduleCampaignABTestConfigPublicV2Dto"
              }
            ]
          }
        },
        "required": [
          "scheduleType",
          "timeZone",
          "userId",
          "emailMeta",
          "recipients"
        ]
      },
      "emails_v3_ScheduleCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string",
            "description": "Campaign ID",
            "example": "67f15c2ae99226d5bcccb8f3"
          },
          "sourceId": {
            "type": "string",
            "description": "Source ID for fetching campaign statistics",
            "example": "B67vyPIAfq3Bnk3FVioE",
            "nullable": true
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "019e4ef5-a65e-4198-8cf9-8e93dca9bda4"
          }
        },
        "required": [
          "campaignId",
          "sourceId"
        ]
      },
      "emails_v3_DeleteCampaignPublicV2ResponseDto": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the campaign was deleted successfully",
            "example": true
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID of the request",
            "example": "0c52e980-41f6-4be7-8c4b-32332ss"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "forms_v3_PageDetailsSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://example.com"
          },
          "title": {
            "type": "string",
            "example": "Example Page"
          }
        }
      },
      "forms_v3_ContactSessionIds": {
        "type": "object",
        "properties": {
          "ids": {
            "example": [
              "session1",
              "session2"
            ],
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "forms_v3_EventDataSchema": {
        "type": "object",
        "properties": {
          "fbc": {
            "type": "string",
            "example": "fb.1.123456789.987654321"
          },
          "fbp": {
            "type": "string",
            "example": "fbp.1.987654321.123456789"
          },
          "page": {
            "$ref": "#/components/schemas/forms_v3_PageDetailsSchema"
          },
          "type": {
            "type": "string",
            "example": "page-visit"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "medium": {
            "type": "string",
            "example": "form"
          },
          "source": {
            "type": "string",
            "example": "Direct traffic"
          },
          "version": {
            "type": "string",
            "example": "v3"
          },
          "adSource": {
            "type": "string",
            "example": "example-ad-source"
          },
          "mediumId": {
            "type": "string",
            "example": "medium-id-123"
          },
          "parentId": {
            "type": "string",
            "example": "parent-id-456"
          },
          "referrer": {
            "type": "string",
            "example": "https://staging.crm.gesvision.com"
          },
          "fbEventId": {
            "type": "string",
            "example": "event-id-789"
          },
          "timestamp": {
            "type": "number",
            "example": 1234567890
          },
          "parentName": {
            "type": "string",
            "example": "Parent Form"
          },
          "fingerprint": {
            "type": "string",
            "example": "example-fingerprint"
          },
          "pageVisitType": {
            "type": "string",
            "example": "form"
          },
          "contactSessionIds": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/forms_v3_ContactSessionIds"
              }
            ]
          }
        }
      },
      "forms_v3_othersSchema": {
        "type": "object",
        "properties": {
          "__submissions_other_field__": {
            "type": "string",
            "example": "john@deo.com"
          },
          "__custom_field_id__": {
            "type": "string",
            "example": "20"
          },
          "eventData": {
            "$ref": "#/components/schemas/forms_v3_EventDataSchema"
          },
          "fieldsOriSequance": {
            "example": [
              "full_name",
              "first_name",
              "last_name",
              "phone",
              "email"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "forms_v3_FormsSubmissionsSubmissionsSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "38303ec7-629a-49e2-888a-cf8bf0b1f97e"
          },
          "contactId": {
            "type": "string",
            "example": "DWQ45t2IPVxi9LDu1wBl"
          },
          "createdAt": {
            "type": "string",
            "example": "2021-06-23T06:07:04.000Z"
          },
          "formId": {
            "type": "string",
            "example": "YSWdvS4Is98wtIDGnpmI"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "email": {
            "type": "string",
            "example": "test@test.com"
          },
          "others": {
            "$ref": "#/components/schemas/forms_v3_othersSchema"
          }
        }
      },
      "forms_v3_metaSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 1
          },
          "currentPage": {
            "type": "number",
            "example": 1
          },
          "nextPage": {
            "type": "number",
            "example": null,
            "nullable": true
          },
          "prevPage": {
            "type": "number",
            "example": null,
            "nullable": true
          }
        }
      },
      "forms_v3_FormsSubmissionsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/forms_v3_FormsSubmissionsSubmissionsSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/forms_v3_metaSchema"
          }
        }
      },
      "forms_v3_FormsParams": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "YSWdvS4Is98wtIDGnpmI"
          },
          "name": {
            "type": "string",
            "example": "Form 1"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "forms_v3_FormsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "forms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/forms_v3_FormsParams"
            }
          },
          "total": {
            "type": "number",
            "example": "20",
            "description": "Total number of forms"
          }
        }
      },
      "funnels_v3_CreateRedirectParams": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "path": {
            "type": "string",
            "example": "/Hello"
          },
          "target": {
            "type": "string",
            "example": "https://www.google.com"
          },
          "action": {
            "type": "string",
            "example": "URL",
            "enum": [
              "funnel",
              "website",
              "url",
              "all"
            ]
          }
        },
        "required": [
          "locationId",
          "domain",
          "path",
          "target",
          "action"
        ]
      },
      "funnels_v3_RedirectResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT",
            "description": "Unique identifier of the redirect"
          },
          "locationId": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT",
            "description": "Identifier of the location associated with the redirect"
          },
          "domain": {
            "type": "string",
            "example": "www.example.com",
            "description": "Domain where the redirect occurs"
          },
          "path": {
            "type": "string",
            "example": "/old-path",
            "description": "Original path that will be redirected"
          },
          "pathLowercase": {
            "type": "string",
            "example": "/old-path",
            "description": "Lowercase version of the original path"
          },
          "type": {
            "type": "string",
            "example": "Permanent",
            "description": "Type of redirect (e.g., Permanent, Temporary)"
          },
          "target": {
            "type": "string",
            "example": "https://www.example.com/new-path",
            "description": "Target URL to which the original path will be redirected"
          },
          "action": {
            "type": "string",
            "example": "url",
            "description": "Action performed by the redirect"
          }
        },
        "required": [
          "id",
          "locationId",
          "domain",
          "path",
          "pathLowercase",
          "type",
          "target",
          "action"
        ]
      },
      "funnels_v3_CreateRedirectResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Data containing details of the created redirect",
            "allOf": [
              {
                "$ref": "#/components/schemas/funnels_v3_RedirectResponseDTO"
              }
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_v3_UpdateRedirectParams": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "example": "https://www.google.com"
          },
          "action": {
            "type": "string",
            "example": "URL",
            "enum": [
              "funnel",
              "website",
              "url",
              "all"
            ]
          },
          "locationId": {
            "type": "string",
            "example": "6p2RxpgtMKQwO3E6IUaT"
          }
        },
        "required": [
          "target",
          "action",
          "locationId"
        ]
      },
      "funnels_v3_RedirectListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "example": {
              "count": 42,
              "data": []
            },
            "description": "Object containing the count of redirects and an array of redirect data"
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_v3_DeleteRedirectResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "example": {
              "status": "ok"
            },
            "description": "Status of the delete operation"
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_v3_UpdateRedirectResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Data containing details of the updated redirect",
            "allOf": [
              {
                "$ref": "#/components/schemas/funnels_v3_RedirectResponseDTO"
              }
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "funnels_v3_FunnelPageResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "0yJbP3q7t7pLmeTWRAE2"
          },
          "locationId": {
            "type": "string",
            "example": "ojQjykmwNIU88vfsfzvH"
          },
          "funnelId": {
            "type": "string",
            "example": "iucJ6TdFZiddhq9f6znh"
          },
          "name": {
            "type": "string",
            "example": "Home"
          },
          "stepId": {
            "type": "string",
            "example": "343bf634-3aa6-4ade-b963-2d3cd0bf2ede"
          },
          "deleted": {
            "type": "string",
            "example": false
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-04-18T12:25:23.029Z"
          }
        },
        "required": [
          "locationId",
          "name",
          "funnelId",
          "stepId",
          "deleted",
          "updatedAt",
          "_id"
        ]
      },
      "funnels_v3_FunnelPageCountResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "example": 20
          }
        },
        "required": [
          "count"
        ]
      },
      "funnels_v3_FunnelListResponseDTO": {
        "type": "object",
        "properties": {
          "funnels": {
            "type": "object",
            "example": {
              "_id": "SkIDfu0S4m3NYQyvWHC6",
              "dateAdded": "2024-04-29T15:00:05.681Z",
              "dateUpdated": "2024-04-29T15:00:28.465Z",
              "deleted": false,
              "domainId": "",
              "locationId": "ojQjykmwNIU88vfsfzvH",
              "name": "Chaitanya Copy",
              "orderFormVersion": 2,
              "originId": "hAmyh7jrJH5FfEEKAJ9z",
              "steps": [
                {
                  "id": "f5d178c0-8bbb-4cd4-927c-691c68a62c59",
                  "name": "Step 1",
                  "originId": "80b2f227-5bc8-4ca5-980d-817745ea4e8b",
                  "pages": [
                    "2IhBmBcQRx9JXV1JZsRt"
                  ],
                  "products": [],
                  "sequence": 1,
                  "type": "optin_funnel_page",
                  "url": "/newtestifypath"
                }
              ],
              "type": "funnel",
              "updatedAt": "2024-04-29T15:00:34.233Z",
              "faviconUrl": "",
              "globalSectionVersion": 1,
              "globalSectionsPath": "funnel/SkIDfu0S4m3NYQyvWHC6/global-sections-1",
              "globalSectionsUrl": "https://firebasestorage.googleapis.com/v0/b/crm-gesvision-staging.appspot.com/o/funnel%2FSkIDfu0S4m3NYQyvWHC6%2Fglobal-sections-1?alt=media&token=9cc5c211-093b-4751-aeba-19282ac92955",
              "isStoreActive": false,
              "trackingCodeBody": "",
              "trackingCodeHead": "",
              "url": "/chaitanya"
            }
          },
          "count": {
            "type": "number",
            "example": 24
          },
          "traceId": {
            "type": "string",
            "example": "03774d31-a57e-4b4f-95c7-315ce61969f1"
          }
        },
        "required": [
          "funnels",
          "count",
          "traceId"
        ]
      },
      "invoices_v3_AddressDto": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string",
            "description": "Address Line 1",
            "example": "9931 Beechwood"
          },
          "addressLine2": {
            "type": "string",
            "description": "Address Line 2",
            "example": "Beechwood"
          },
          "city": {
            "type": "string",
            "description": "City",
            "example": "St. Houston"
          },
          "state": {
            "type": "string",
            "description": "State",
            "example": "TX"
          },
          "countryCode": {
            "type": "string",
            "description": "Country Code",
            "example": "US"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal Code",
            "example": "559-6993"
          }
        }
      },
      "invoices_v3_BusinessDetailsDto": {
        "type": "object",
        "properties": {
          "logoUrl": {
            "type": "string",
            "description": "Business Logo URL",
            "example": "https://example.com/logo.png"
          },
          "name": {
            "type": "string",
            "description": "Business Name",
            "example": "ABC Corp."
          },
          "phoneNo": {
            "type": "string",
            "description": "Business Phone Number",
            "example": "+1-214-559-6993"
          },
          "address": {
            "description": "Business Address",
            "example": "9931 Beechwood, TX",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AddressDto"
              }
            ]
          },
          "website": {
            "type": "string",
            "description": "Business Website Link",
            "example": "wwww.example.com"
          },
          "customValues": {
            "description": "Custom Values",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "invoices_v3_ItemTaxDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "calculation": {
            "type": "string",
            "enum": [
              "exclusive"
            ]
          },
          "description": {
            "type": "string"
          },
          "taxId": {
            "type": "string"
          }
        },
        "required": [
          "_id",
          "name",
          "rate"
        ]
      },
      "invoices_v3_InvoiceItemDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Invoice Item Name",
            "example": "ABC Product"
          },
          "description": {
            "type": "string",
            "description": "Invoice descriptions",
            "example": "ABC Corp."
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "priceId": {
            "type": "string",
            "description": "Price Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "Product amount",
            "example": 999
          },
          "qty": {
            "type": "number",
            "description": "Product Quantity",
            "example": 1
          },
          "taxes": {
            "description": "Tax",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_ItemTaxDto"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category id for calculating automatic tax",
            "example": "6578278e879ad2646715ba9c"
          },
          "isSetupFeeItem": {
            "type": "boolean",
            "description": "Setupfee item, only created when 1st invoice of recurring schedule is generated"
          },
          "type": {
            "type": "string",
            "description": "Price type of the item",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "true if item amount is tax inclusive",
            "example": true,
            "default": false
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "qty"
        ]
      },
      "invoices_v3_DiscountDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Discount Value",
            "example": 10,
            "default": 0
          },
          "type": {
            "type": "string",
            "description": "Discount type",
            "enum": [
              "percentage",
              "fixed"
            ],
            "example": "percentage",
            "default": "percentage"
          },
          "validOnProductIds": {
            "description": "Product Ids on which discount is applicable",
            "example": "[ '6579751d56f60276e5bd4154' ]",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type"
        ]
      },
      "invoices_v3_TipsConfigurationDto": {
        "type": "object",
        "properties": {
          "tipsPercentage": {
            "description": "Percentage of tips allowed",
            "example": [
              5,
              10,
              15
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tipsEnabled": {
            "type": "boolean",
            "description": "Tips enabled status",
            "example": true
          }
        },
        "required": [
          "tipsPercentage",
          "tipsEnabled"
        ]
      },
      "invoices_v3_LateFeesFrequencyDto": {
        "type": "object",
        "properties": {
          "intervalCount": {
            "type": "number",
            "description": "Late fees interval count",
            "example": 10
          },
          "interval": {
            "type": "string",
            "description": "Late fees interval",
            "example": "day",
            "enum": [
              "minute",
              "hour",
              "day",
              "week",
              "month",
              "one_time"
            ]
          }
        },
        "required": [
          "intervalCount",
          "interval"
        ]
      },
      "invoices_v3_LateFeesGraceDto": {
        "type": "object",
        "properties": {
          "intervalCount": {
            "type": "number",
            "description": "Late fees grace interval count",
            "example": 10
          },
          "interval": {
            "type": "string",
            "description": "Late fees grace interval",
            "example": "day",
            "enum": [
              "day"
            ]
          }
        },
        "required": [
          "intervalCount",
          "interval"
        ]
      },
      "invoices_v3_LateFeesMaxFeesDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "fixed",
            "enum": [
              "fixed"
            ]
          },
          "value": {
            "type": "number",
            "example": "10",
            "description": "Max late fees to pay"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "invoices_v3_LateFeesConfigurationDto": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "Enable late fees",
            "example": true
          },
          "value": {
            "type": "number",
            "description": "Late Fees Value",
            "example": 10
          },
          "type": {
            "type": "string",
            "description": "Late Fees Type",
            "example": "fixed",
            "enum": [
              "fixed",
              "percentage"
            ]
          },
          "frequency": {
            "description": "Late Fees Frequency",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesFrequencyDto"
              }
            ]
          },
          "grace": {
            "description": "Late Fees Grace",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesGraceDto"
              }
            ]
          },
          "maxLateFees": {
            "description": "Max late fees payable",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesMaxFeesDto"
              }
            ]
          }
        },
        "required": [
          "enable",
          "value",
          "type",
          "frequency"
        ]
      },
      "invoices_v3_StripePaymentMethodDto": {
        "type": "object",
        "properties": {
          "enableBankDebitOnly": {
            "type": "boolean",
            "description": "Enable Bank Debit Only",
            "example": false
          }
        },
        "required": [
          "enableBankDebitOnly"
        ]
      },
      "invoices_v3_PaymentMethodDto": {
        "type": "object",
        "properties": {
          "stripe": {
            "description": "Payment Method",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_StripePaymentMethodDto"
              }
            ]
          }
        },
        "required": [
          "stripe"
        ]
      },
      "invoices_v3_ProcessingFeePaidChargeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "name of the processing fee",
            "example": "Processing Fee"
          },
          "charge": {
            "type": "number",
            "description": "charge for the processing fee",
            "example": 10
          },
          "amount": {
            "type": "number",
            "description": "amount of the processing fee",
            "example": 10
          },
          "_id": {
            "type": "string",
            "description": "id of the processing fee",
            "example": "673d01d7d547648a8dab6211"
          }
        },
        "required": [
          "name",
          "charge",
          "amount",
          "_id"
        ]
      },
      "invoices_v3_ProcessingFeeDto": {
        "type": "object",
        "properties": {
          "charges": {
            "description": "charges for the processing fee",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "collectedMiscellaneousCharges": {
            "type": "number",
            "description": "collected miscellaneous charges",
            "example": 10
          },
          "paidCharges": {
            "description": "paid miscellaneous charges",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_ProcessingFeePaidChargeDto"
            }
          }
        },
        "required": [
          "charges"
        ]
      },
      "invoices_v3_CreateInvoiceTemplateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "internal": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "Name of the template",
            "example": "New Template"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Template title",
            "example": "New Template"
          },
          "tipsConfiguration": {
            "description": "Configuration for tips on invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_TipsConfigurationDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "Late fees configuration for the invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items"
        ]
      },
      "invoices_v3_CreateInvoiceTemplateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Template Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Template",
            "example": "New Template"
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "total",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_GetTemplateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Template Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Template",
            "example": "New Template"
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "total",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_ListTemplatesResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_GetTemplateResponseDto"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of Templates",
            "example": 100
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "invoices_v3_UpdateInvoiceTemplateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "internal": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "Name of the template",
            "example": "New Template"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Template title",
            "example": "New Template"
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items"
        ]
      },
      "invoices_v3_UpdateInvoiceTemplateResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Template Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the Template",
            "example": "New Template"
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "total",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_UpdateInvoiceLateFeesConfigurationDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "lateFeesConfiguration": {
            "description": "late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesConfigurationDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "lateFeesConfiguration"
        ]
      },
      "invoices_v3_UpdatePaymentMethodsConfigurationDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_v3_DeleteInvoiceTemplateResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "success",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "invoices_v3_AdditionalEmailsDto": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "example": "alex@example.com"
          }
        },
        "required": [
          "email"
        ]
      },
      "invoices_v3_ContactDetailsDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Contact ID",
            "example": "6578278e879ad2646715ba9c"
          },
          "name": {
            "type": "string",
            "description": "Contact Name",
            "example": "Alex"
          },
          "phoneNo": {
            "type": "string",
            "description": "Contact Phone Number",
            "example": "+1234567890"
          },
          "email": {
            "type": "string",
            "description": "Contact Email",
            "example": "alex@example.com"
          },
          "additionalEmails": {
            "description": "Secondary email addresses for the contact to be saved",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AdditionalEmailsDto"
            }
          },
          "companyName": {
            "type": "string",
            "description": "Contact Company Name",
            "example": "ABC Corp."
          },
          "address": {
            "$ref": "#/components/schemas/invoices_v3_AddressDto"
          },
          "customFields": {
            "description": "Custom Values",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name",
          "phoneNo",
          "email"
        ]
      },
      "invoices_v3_CustomRRuleOptionsDto": {
        "type": "object",
        "properties": {
          "intervalType": {
            "type": "string",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly",
              "minutely",
              "secondly"
            ],
            "example": "monthly"
          },
          "interval": {
            "type": "number",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "startTime": {
            "type": "string",
            "description": "Start time in HH:mm:ss format",
            "example": "20:45:00"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DD format",
            "example": "2029-11-01"
          },
          "endTime": {
            "type": "string",
            "description": "End time in HH:mm:ss format",
            "example": "18:45:00"
          },
          "dayOfMonth": {
            "type": "number",
            "description": "-1, 1, 2, 3, ..., 27, 28",
            "example": 15
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "mo",
              "tu",
              "we",
              "th",
              "fr",
              "sa",
              "su"
            ],
            "example": "mo"
          },
          "numOfWeek": {
            "type": "number",
            "description": "-1, 1, 2, 3, 4",
            "example": -1
          },
          "monthOfYear": {
            "type": "string",
            "enum": [
              "jan",
              "feb",
              "mar",
              "apr",
              "may",
              "jun",
              "jul",
              "aug",
              "sep",
              "oct",
              "nov",
              "dec"
            ],
            "example": "jan"
          },
          "count": {
            "type": "number",
            "description": "Max number of task executions",
            "example": 10
          },
          "daysBefore": {
            "type": "number",
            "description": "Execute task number of days before",
            "example": 5
          },
          "useStartAsPrimaryUserAccepted": {
            "type": "boolean",
            "description": "Start as primary user accepted date",
            "example": true
          },
          "endType": {
            "type": "string",
            "description": "End type like after, by, count",
            "example": "by"
          }
        },
        "required": [
          "intervalType",
          "interval",
          "startDate"
        ]
      },
      "invoices_v3_ScheduleOptionsDto": {
        "type": "object",
        "properties": {
          "executeAt": {
            "type": "string"
          },
          "rrule": {
            "$ref": "#/components/schemas/invoices_v3_CustomRRuleOptionsDto"
          }
        }
      },
      "invoices_v3_AttachmentsDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the file selected",
            "example": "6241712be68f7a98102ba272"
          },
          "name": {
            "type": "string",
            "description": "Name of the file ",
            "example": "Electronics.pdf"
          },
          "url": {
            "type": "string",
            "description": "URL of the file",
            "example": "https://example.com/digital-delivery"
          },
          "type": {
            "type": "string",
            "description": "Type of the file"
          },
          "size": {
            "type": "number",
            "description": "Size of the file",
            "example": 10000
          }
        },
        "required": [
          "id",
          "name",
          "url",
          "type",
          "size"
        ]
      },
      "invoices_v3_CreateInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "tipsConfiguration": {
            "description": "Configuration for tips on invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_TipsConfigurationDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "Late fees configuration for the invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "contactDetails",
          "schedule",
          "liveMode",
          "businessDetails",
          "currency",
          "items",
          "discount"
        ]
      },
      "invoices_v3_DefaultInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_CreateInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_GetScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_ListSchedulesResponseDto": {
        "type": "object",
        "properties": {
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_GetScheduleResponseDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of Schedules",
            "example": 100
          }
        },
        "required": [
          "schedules",
          "total"
        ]
      },
      "invoices_v3_UpdateInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "contactDetails",
          "schedule",
          "liveMode",
          "businessDetails",
          "currency",
          "items",
          "discount"
        ]
      },
      "invoices_v3_UpdateInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_DeleteInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "success",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "invoices_v3_UpdateAndScheduleInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_CardDto": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "brand",
          "last4"
        ]
      },
      "invoices_v3_USBankAccountDto": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "bank_name",
          "last4"
        ]
      },
      "invoices_v3_SepaDirectDebitDTO": {
        "type": "object",
        "properties": {
          "bank_code": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          },
          "branch_code": {
            "type": "string"
          }
        },
        "required": [
          "bank_code",
          "last4",
          "branch_code"
        ]
      },
      "invoices_v3_BacsDirectDebitDTO": {
        "type": "object",
        "properties": {
          "sort_code": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "sort_code",
          "last4"
        ]
      },
      "invoices_v3_BecsDirectDebitDTO": {
        "type": "object",
        "properties": {
          "bsb_number": {
            "type": "string"
          },
          "last4": {
            "type": "string"
          }
        },
        "required": [
          "bsb_number",
          "last4"
        ]
      },
      "invoices_v3_AutoPaymentDetailsDto": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "paymentMethodId": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "card": {
            "$ref": "#/components/schemas/invoices_v3_CardDto"
          },
          "usBankAccount": {
            "$ref": "#/components/schemas/invoices_v3_USBankAccountDto"
          },
          "sepaDirectDebit": {
            "$ref": "#/components/schemas/invoices_v3_SepaDirectDebitDTO"
          },
          "bacsDirectDebit": {
            "$ref": "#/components/schemas/invoices_v3_BacsDirectDebitDTO"
          },
          "becsDirectDebit": {
            "$ref": "#/components/schemas/invoices_v3_BecsDirectDebitDTO"
          },
          "cardId": {
            "type": "string"
          },
          "provider": {
            "type": "object"
          }
        },
        "required": [
          "enable"
        ]
      },
      "invoices_v3_ScheduleInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "liveMode": {
            "type": "boolean"
          },
          "autoPayment": {
            "description": "auto-payment configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AutoPaymentDetailsDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "liveMode"
        ]
      },
      "invoices_v3_ScheduleInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_AutoPaymentScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "id": {
            "type": "string"
          },
          "autoPayment": {
            "description": "auto-payment configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AutoPaymentDetailsDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "id",
          "autoPayment"
        ]
      },
      "invoices_v3_AutoPaymentInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_CancelInvoiceScheduleDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_v3_CancelInvoiceScheduleResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Schedule Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "object",
            "description": "Schedule Status",
            "example": "draft"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "schedule": {
            "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
          },
          "invoices": {
            "description": "List of invoices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
            }
          },
          "businessDetails": {
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "discount": {
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "items": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes",
            "example": "Confidential"
          },
          "compiledTermsNotes": {
            "type": "string",
            "description": "Compiled terms notes",
            "example": "Confidential"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "altId",
          "altType",
          "name",
          "invoices",
          "businessDetails",
          "currency",
          "contactDetails",
          "items",
          "total",
          "title",
          "termsNotes",
          "compiledTermsNotes",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_SentToDto": {
        "type": "object",
        "properties": {
          "email": {
            "description": "Email Address",
            "example": [
              "alex@example.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailCc": {
            "description": "cc to be kept in any sent out emails",
            "example": [
              "alex@example.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "emailBcc": {
            "description": "bcc to be kept in any sent out emails",
            "example": [
              "alex@example.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "phoneNo": {
            "description": "Contact Phone Number",
            "example": [
              "+1-214-559-6993"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "email"
        ]
      },
      "invoices_v3_PaymentScheduleDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Payment schedule type",
            "enum": [
              "fixed",
              "percentage"
            ],
            "example": "percentage"
          },
          "schedules": {
            "description": "payment schedule item",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type",
          "schedules"
        ]
      },
      "invoices_v3_Text2PayDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Invoice Name",
            "example": "New Invoice"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the invoice.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the invoice",
            "example": "INVOICE"
          },
          "contactDetails": {
            "description": "Contact information to send the invoice to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "example": "1001"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-14"
          },
          "sentTo": {
            "$ref": "#/components/schemas/invoices_v3_SentToDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "paymentSchedule": {
            "description": "split invoice into payment schedule summing up to full invoice amount",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentScheduleDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesConfigurationDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "tips configuration for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_TipsConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "id of invoice to update. If skipped, a new invoice will be created"
          },
          "includeTermsNote": {
            "type": "boolean",
            "description": "include terms & notes with receipts",
            "example": true
          },
          "action": {
            "type": "string",
            "description": "create invoice in draft mode or send mode",
            "example": "draft",
            "enum": [
              "draft",
              "send"
            ]
          },
          "userId": {
            "type": "string",
            "description": "id of user generating invoice"
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "items",
          "contactDetails",
          "issueDate",
          "sentTo",
          "liveMode",
          "action",
          "userId"
        ]
      },
      "invoices_v3_Text2PayInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
          },
          "invoiceUrl": {
            "type": "string",
            "description": "preview url of generated invoice"
          }
        },
        "required": [
          "invoice",
          "invoiceUrl"
        ]
      },
      "invoices_v3_GenerateInvoiceNumberResponseDto": {
        "type": "object",
        "properties": {
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          }
        }
      },
      "invoices_v3_CustomNotificationItemDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Flag indicating if the notification is enabled or not"
          },
          "emailTemplate": {
            "type": "string",
            "description": "Template to be used for sending email"
          },
          "smsTemplate": {
            "type": "string",
            "description": "Template to be used for sending sms"
          },
          "fromName": {
            "type": "string",
            "description": "Name to be used while sending email",
            "example": "Alex"
          },
          "fromEmail": {
            "type": "string",
            "description": "Email address to be used for sending email",
            "example": "alex@example.com"
          },
          "emailSubject": {
            "type": "string",
            "description": "Subject of email which is sent out",
            "example": "Thank you for purchasing"
          },
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "Default email TemplateId to be used for sending via email",
            "example": "dhwjqi2899012990w2u"
          }
        },
        "required": [
          "enabled",
          "emailTemplate",
          "smsTemplate"
        ]
      },
      "invoices_v3_CustomNotificationDto": {
        "type": "object",
        "properties": {
          "customerSendInvoice": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamAutoPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerAutoPaymentSuccess": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamPaymentFailure": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerPaymentFailure": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamAutoPaymentFailure": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerAutoPaymentFailure": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerAutoPaymentInfo": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerAutoPaymentAmountChanged": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamAutoPaymentSkip": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamRecurringSendInvoiceFailed": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "customerSendEstimate": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamEstimateAccepted": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          },
          "teamEstimateDeclined": {
            "$ref": "#/components/schemas/invoices_v3_CustomNotificationItemDto"
          }
        },
        "required": [
          "customerSendInvoice",
          "teamPaymentSuccess",
          "customerPaymentSuccess",
          "teamAutoPaymentSuccess",
          "customerAutoPaymentSuccess",
          "teamPaymentFailure",
          "customerPaymentFailure",
          "teamAutoPaymentFailure",
          "customerAutoPaymentFailure",
          "customerAutoPaymentInfo",
          "customerAutoPaymentAmountChanged",
          "teamAutoPaymentSkip",
          "teamRecurringSendInvoiceFailed",
          "customerSendEstimate",
          "teamEstimateAccepted",
          "teamEstimateDeclined"
        ]
      },
      "invoices_v3_Address": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string"
          }
        }
      },
      "invoices_v3_InvoiceSettingsBusinessDetailsDto": {
        "type": "object",
        "properties": {
          "logoUrl": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phoneNo": {
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/invoices_v3_Address"
          },
          "website": {
            "type": "string"
          },
          "customValues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "invoices_v3_InvoiceSettingsSenderConfigurationDto": {
        "type": "object",
        "properties": {
          "fromName": {
            "type": "string",
            "description": "Sender name to be used while sending email notification",
            "example": "Alex"
          },
          "fromEmail": {
            "type": "string",
            "description": "Email id to be used while sending email notification",
            "example": "alex@example.com"
          }
        }
      },
      "invoices_v3_InvoiceProductSettingsDto": {
        "type": "object",
        "properties": {
          "enableImportProductDescription": {
            "type": "boolean",
            "description": "Flag indicating if the product description import is enabled or not",
            "example": true
          },
          "descriptionOptional": {
            "type": "boolean",
            "description": "Flag indicating if the product description is optional or not",
            "example": true
          }
        }
      },
      "invoices_v3_ReminderDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Flag indicating if the reminder is enabled or not",
            "example": true
          },
          "emailTemplate": {
            "type": "string",
            "description": "Email template to be used for sending reminders",
            "example": "default"
          },
          "smsTemplate": {
            "type": "string",
            "description": "SMS template to be used for sending reminders",
            "example": "default"
          },
          "emailSubject": {
            "type": "string",
            "description": "Subject of the reminder",
            "example": "Reminder"
          },
          "reminderId": {
            "type": "string",
            "description": "Unique identifier for the reminder",
            "example": "9333e45f-a27d-4659-90e5-76c5ef06d094"
          },
          "reminderName": {
            "type": "string",
            "description": "Name of the reminder",
            "example": "Special Reminder"
          },
          "reminderTime": {
            "type": "string",
            "description": "Time condition for the reminder",
            "example": "before",
            "enum": [
              "before",
              "after"
            ]
          },
          "intervalType": {
            "type": "string",
            "description": "Interval type for the reminder",
            "example": "daily",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly",
              "minutely",
              "secondly"
            ]
          },
          "maxReminders": {
            "type": "number",
            "description": "Maximum number of reminders that can be sent",
            "example": 3
          },
          "reminderInvoiceCondition": {
            "type": "string",
            "description": "Condition for sending the reminder",
            "example": "invoice_sent",
            "enum": [
              "invoice_sent",
              "invoice_overdue"
            ]
          },
          "reminderNumber": {
            "type": "number",
            "description": "frequency gap of the reminder to exeucte",
            "example": 10
          },
          "startTime": {
            "type": "string",
            "description": "Business Hour Start Time",
            "example": "9:00 AM"
          },
          "endTime": {
            "type": "string",
            "description": "Business Hour End Time",
            "example": "5:00 PM"
          },
          "timezone": {
            "type": "string",
            "description": "Timezone at which reminder will be sent",
            "example": "businessTZ"
          }
        },
        "required": [
          "enabled",
          "emailTemplate",
          "smsTemplate",
          "emailSubject",
          "reminderId",
          "reminderName",
          "reminderTime",
          "intervalType",
          "maxReminders",
          "reminderInvoiceCondition",
          "reminderNumber"
        ]
      },
      "invoices_v3_ReminderSettingsDto": {
        "type": "object",
        "properties": {
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "default template Id of reminder",
            "example": "dhwjqi2899012990w2u"
          },
          "reminders": {
            "description": "List of reminders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_ReminderDto"
            }
          }
        },
        "required": [
          "defaultEmailTemplateId",
          "reminders"
        ]
      },
      "invoices_v3_GetInvoiceSettingsResponseDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Sub-Account Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "termsNote": {
            "type": "string",
            "description": "Terms and conditions for invoices",
            "example": "Payment is due within 30 days."
          },
          "estimatesTermsNote": {
            "type": "string",
            "description": "Terms and conditions for estimates",
            "example": "This estimate is valid for 30 days."
          },
          "title": {
            "type": "string",
            "description": "Title for invoices",
            "example": "INVOICE",
            "maxLength": 40
          },
          "estimatesTitle": {
            "type": "string",
            "description": "Title for estimates",
            "example": "ESTIMATE",
            "maxLength": 40
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "Prefix for invoice numbers",
            "example": "INV-",
            "maxLength": 10
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for estimate numbers",
            "example": "EST-",
            "maxLength": 10
          },
          "dueAfterXDays": {
            "type": "number",
            "description": "Number of days after which invoice is due",
            "example": 30
          },
          "estimatesExpireAfterXDays": {
            "type": "number",
            "description": "Number of days after which estimate expires",
            "example": 30
          },
          "minimumPercentagePartialPayment": {
            "type": "number",
            "description": "Minimum percentage for partial payment",
            "example": 25
          },
          "customFields": {
            "description": "Custom fields array",
            "example": [
              "6578278e879ad2646715baxc",
              "6901e9fb77ac4d701ba0b996"
            ],
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customNotification": {
            "description": "Custom notification settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_CustomNotificationDto"
              }
            ]
          },
          "businessDetails": {
            "description": "Business details",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_InvoiceSettingsBusinessDetailsDto"
              }
            ]
          },
          "senderConfiguration": {
            "description": "Sender configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_InvoiceSettingsSenderConfigurationDto"
              }
            ]
          },
          "productSettings": {
            "description": "Product settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_InvoiceProductSettingsDto"
              }
            ]
          },
          "reminderSettings": {
            "description": "Reminder settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ReminderSettingsDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "Late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesConfigurationDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "Tips configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_TipsConfigurationDto"
              }
            ]
          },
          "paymentMethods": {
            "description": "Payment methods configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          }
        }
      },
      "invoices_v3_CreateInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Invoice Name",
            "example": "New Invoice"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the invoice.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the invoice",
            "example": "INVOICE"
          },
          "contactDetails": {
            "description": "Contact information to send the invoice to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "example": "1001"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-14"
          },
          "sentTo": {
            "$ref": "#/components/schemas/invoices_v3_SentToDto"
          },
          "liveMode": {
            "type": "boolean"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "paymentSchedule": {
            "description": "split invoice into payment schedule summing up to full invoice amount",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentScheduleDto"
              }
            ]
          },
          "lateFeesConfiguration": {
            "description": "late fees configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_LateFeesConfigurationDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "tips configuration for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_TipsConfigurationDto"
              }
            ]
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount",
          "contactDetails",
          "issueDate",
          "sentTo",
          "liveMode"
        ]
      },
      "invoices_v3_OldCreateInvoiceDTO": {
        "type": "object",
        "properties": {}
      },
      "invoices_v3_CreateInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_TotalSummaryDto": {
        "type": "object",
        "properties": {
          "subTotal": {
            "type": "number",
            "description": "subTotal",
            "example": 999
          },
          "discount": {
            "type": "number",
            "description": "discount",
            "example": 0
          },
          "tax": {
            "type": "number",
            "description": "tax",
            "example": 0
          }
        },
        "required": [
          "subTotal",
          "discount",
          "tax"
        ]
      },
      "invoices_v3_ReminderExecutionDetailsList": {
        "type": "object",
        "properties": {}
      },
      "invoices_v3_RemindersConfigurationDto": {
        "type": "object",
        "properties": {
          "reminderExecutionDetailsList": {
            "description": "List of reminders",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ReminderExecutionDetailsList"
              }
            ]
          },
          "reminderSettings": {
            "description": "Reminder settings",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ReminderSettingsDto"
              }
            ]
          }
        },
        "required": [
          "reminderExecutionDetailsList",
          "reminderSettings"
        ]
      },
      "invoices_v3_GetInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          },
          "totalSummary": {
            "$ref": "#/components/schemas/invoices_v3_TotalSummaryDto"
          },
          "remindersConfiguration": {
            "description": "Reminders Configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_RemindersConfigurationDto"
              }
            ]
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt",
          "totalSummary"
        ]
      },
      "invoices_v3_ListInvoicesResponseDto": {
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_GetInvoiceResponseDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of invoices",
            "example": 100
          }
        },
        "required": [
          "invoices",
          "total"
        ]
      },
      "invoices_v3_UpdateInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Name to be updated",
            "example": "New Invoice"
          },
          "title": {
            "type": "string",
            "description": "Title for the invoice",
            "example": "INVOICE"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "ABC Corp payments"
          },
          "businessDetails": {
            "description": "Business details which need to be updated",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "example": "1001"
          },
          "contactId": {
            "type": "string",
            "description": "Id of the contact which you need to send the invoice",
            "example": "6578278e879ad2646715ba9c"
          },
          "contactDetails": {
            "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "invoiceItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_InvoiceItemDto"
            }
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "liveMode": {
            "type": "boolean",
            "description": "Payment mode"
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-14"
          },
          "paymentSchedule": {
            "description": "split invoice into payment schedule summing up to full invoice amount",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentScheduleDto"
              }
            ]
          },
          "tipsConfiguration": {
            "description": "tips configuration for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_TipsConfigurationDto"
              }
            ]
          },
          "xeroDetails": {
            "type": "object"
          },
          "invoiceNumberPrefix": {
            "type": "string",
            "description": "prefix for invoice number",
            "example": "INV-"
          },
          "paymentMethods": {
            "description": "Payment Methods for Invoices",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentMethodDto"
              }
            ]
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the invoice",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "invoiceItems",
          "issueDate",
          "dueDate"
        ]
      },
      "invoices_v3_UpdateInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_DeleteInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_VoidInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_v3_VoidInvoiceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Invoice Status",
            "example": "draft",
            "enum": [
              "draft",
              "sent",
              "payment_processing",
              "paid",
              "void",
              "partially_paid"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "Live Mode",
            "example": false
          },
          "amountPaid": {
            "type": "number",
            "description": "Amount Paid",
            "example": 0
          },
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the invoice",
            "example": "New Invoice"
          },
          "businessDetails": {
            "type": "object",
            "description": "Business Details",
            "example": {
              "name": "Alex",
              "address": {
                "addressLine1": "9931 Beechwood",
                "city": "St. Houston",
                "state": "TX",
                "countryCode": "USA",
                "postalCode": "559-6993"
              },
              "phoneNo": "+1-214-559-6993",
              "website": "www.example.com"
            }
          },
          "invoiceNumber": {
            "type": "number",
            "description": "Invoice Number",
            "example": "19"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "contactDetails": {
            "type": "object",
            "description": "Contact Details",
            "example": {
              "id": "c6tZZU0rJBf30ZXx9Gli",
              "phoneNo": "+1-214-559-6993",
              "email": "alex@example.com",
              "customFields": [],
              "name": "Alex",
              "address": {
                "countryCode": "US"
              }
            }
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "dueDate": {
            "type": "string",
            "description": "Due date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "discount": {
            "type": "object",
            "description": "Discount",
            "example": {
              "type": "percentage",
              "value": 0
            }
          },
          "invoiceItems": {
            "description": "Invoice Items",
            "example": [
              {
                "taxes": [],
                "_id": "c6tZZU0rJBf30ZXx9Gli",
                "productId": "c6tZZU0rJBf30ZXx9Gli",
                "priceId": "c6tZZU0rJBf30ZXx9Gli",
                "currency": "USD",
                "name": "Macbook Pro",
                "qty": 1,
                "amount": 999
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Amount",
            "example": 999
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "INVOICE"
          },
          "amountDue": {
            "type": "number",
            "description": "Total Amount Due",
            "example": 999
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Invoice",
            "example": true
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Is Automatic taxes calculated for the Invoice items",
            "example": true
          },
          "paymentSchedule": {
            "type": "object",
            "description": "split invoice into payment schedule summing up to full invoice amount"
          }
        },
        "required": [
          "_id",
          "status",
          "liveMode",
          "amountPaid",
          "altId",
          "altType",
          "name",
          "businessDetails",
          "invoiceNumber",
          "currency",
          "contactDetails",
          "issueDate",
          "dueDate",
          "invoiceItems",
          "total",
          "title",
          "amountDue",
          "createdAt",
          "updatedAt"
        ]
      },
      "invoices_v3_SendInvoiceDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "userId": {
            "type": "string",
            "description": "Please ensure that the UserId corresponds to an authorized personnel, either by an employee ID or agency ID, to access this location. This account will serve as the primary channel for all future communications and updates.",
            "example": "6578278e879ad2646715ba9c"
          },
          "action": {
            "type": "string",
            "enum": [
              "sms_and_email",
              "send_manually",
              "email",
              "sms"
            ]
          },
          "liveMode": {
            "type": "boolean"
          },
          "sentFrom": {
            "description": "sender details for invoice, valid only if invoice is not sent manually",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_InvoiceSettingsSenderConfigurationDto"
              }
            ]
          },
          "autoPayment": {
            "description": "auto-payment configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AutoPaymentDetailsDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "userId",
          "action",
          "liveMode"
        ]
      },
      "invoices_v3_SendInvoicesResponseDto": {
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
          },
          "smsData": {
            "type": "object"
          },
          "emailData": {
            "type": "object"
          }
        },
        "required": [
          "invoice",
          "smsData",
          "emailData"
        ]
      },
      "invoices_v3_ChequeDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "check number",
            "example": "129-129-129-912"
          }
        },
        "required": [
          "number"
        ]
      },
      "invoices_v3_RecordPaymentDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "mode": {
            "type": "string",
            "description": "manual payment method",
            "enum": [
              "cash",
              "card",
              "cheque",
              "bank_transfer",
              "other"
            ],
            "example": "card"
          },
          "card": {
            "$ref": "#/components/schemas/invoices_v3_CardDto"
          },
          "cheque": {
            "$ref": "#/components/schemas/invoices_v3_ChequeDto"
          },
          "notes": {
            "type": "string",
            "description": "Any note to be recorded with the transaction",
            "example": "This was a direct payment"
          },
          "amount": {
            "type": "number",
            "description": "Amount to be paid against the invoice.",
            "example": 999
          },
          "meta": {
            "type": "object"
          },
          "paymentScheduleIds": {
            "description": "Payment Schedule Ids to be recorded against the invoice.",
            "example": [
              "6578278e879ad2646715ba9c"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fulfilledAt": {
            "type": "string",
            "description": "Updated At to be recorded against the invoice.",
            "example": "2025-03-19T05:03:00.000Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "mode",
          "card",
          "cheque",
          "notes"
        ]
      },
      "invoices_v3_RecordPaymentResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "status",
            "example": true
          },
          "invoice": {
            "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
          }
        },
        "required": [
          "success",
          "invoice"
        ]
      },
      "invoices_v3_PatchInvoiceStatsLastViewedDto": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "description": "Invoice Id",
            "example": "6578278e879ad2646715ba9c"
          }
        },
        "required": [
          "invoiceId"
        ]
      },
      "invoices_v3_EstimateLineItemDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Invoice Item Name",
            "example": "ABC Product"
          },
          "description": {
            "type": "string",
            "description": "Invoice descriptions",
            "example": "ABC Corp."
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "priceId": {
            "type": "string",
            "description": "Price Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "Product amount",
            "example": 999
          },
          "qty": {
            "type": "number",
            "description": "Product Quantity",
            "example": 1
          },
          "taxes": {
            "description": "Tax",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_ItemTaxDto"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category id for calculating automatic tax",
            "example": "6578278e879ad2646715ba9c"
          },
          "isSetupFeeItem": {
            "type": "boolean",
            "description": "Setupfee item, only created when 1st invoice of recurring schedule is generated"
          },
          "type": {
            "type": "string",
            "description": "Price type of the item",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "true if item amount is tax inclusive",
            "example": true,
            "default": false
          },
          "attachments": {
            "description": "Attachments for the line item",
            "example": [
              "https://example.com/file1.jpg",
              "https://example.com/file2.png"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "qty"
        ]
      },
      "invoices_v3_SendEstimateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "sms_and_email",
              "send_manually",
              "email",
              "sms"
            ]
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true
          },
          "userId": {
            "type": "string",
            "description": "Please ensure that the UserId corresponds to an authorized personnel, either by an employee ID or agency ID, to access this location. This account will serve as the primary channel for all future communications and updates.",
            "example": "6578278e879ad2646715ba9c"
          },
          "sentFrom": {
            "description": "sender details for invoice, valid only if invoice is not sent manually",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_InvoiceSettingsSenderConfigurationDto"
              }
            ]
          },
          "estimateName": {
            "type": "string",
            "description": "estimate name",
            "example": "Estimate"
          }
        },
        "required": [
          "altId",
          "altType",
          "action",
          "liveMode",
          "userId"
        ]
      },
      "invoices_v3_FrequencySettingsDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "enabled for the frequency settings",
            "example": true
          },
          "schedule": {
            "description": "schedule setting for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ScheduleOptionsDto"
              }
            ]
          }
        },
        "required": [
          "enabled",
          "schedule"
        ]
      },
      "invoices_v3_AutoInvoicingDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enable Auto Invoice",
            "example": true
          },
          "directPayments": {
            "type": "boolean",
            "description": "Direct Payments",
            "example": true
          }
        },
        "required": [
          "enabled"
        ]
      },
      "invoices_v3_PaymentScheduleDateConfigDto": {
        "type": "object",
        "properties": {
          "depositDateType": {
            "type": "string",
            "description": "Deposit date type",
            "example": "estimate_accepted",
            "enum": [
              "estimate_accepted",
              "custom"
            ]
          },
          "scheduleDateType": {
            "type": "string",
            "description": "Payment Schedule Date Type",
            "example": "regular_interval",
            "enum": [
              "regular_interval",
              "custom"
            ]
          }
        },
        "required": [
          "depositDateType",
          "scheduleDateType"
        ]
      },
      "invoices_v3_PaymentScheduleConfigDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Payment Schedule Type",
            "example": "fixed",
            "enum": [
              "fixed",
              "percentage"
            ]
          },
          "dateConfig": {
            "description": "Due date type configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentScheduleDateConfigDto"
              }
            ]
          },
          "schedules": {
            "description": "Payment Schedule Items",
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "type",
          "dateConfig",
          "schedules"
        ]
      },
      "invoices_v3_CreateEstimatesDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Estimate Name",
            "example": "Home Service Estimate"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the estimate.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_EstimateLineItemDto"
            }
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true,
            "default": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the estimate",
            "example": "ESTIMATE"
          },
          "contactDetails": {
            "description": "Contact information to send the estimate to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "estimateNumber": {
            "type": "number",
            "description": "Estimate Number, if not specified will take in the next valid estimate number",
            "example": 1001
          },
          "issueDate": {
            "type": "string",
            "description": "issue date estimate",
            "example": "2024-08-07"
          },
          "expiryDate": {
            "type": "string",
            "description": "expiry date estimate",
            "example": "2024-08-10"
          },
          "sentTo": {
            "description": "Email and sent to details for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_SentToDto"
              }
            ]
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Estimate",
            "example": true,
            "default": false
          },
          "meta": {
            "type": "object",
            "description": "Meta data for the estimate",
            "example": {
              "key": "value"
            }
          },
          "sendEstimateDetails": {
            "description": "When sending estimate directly while saving",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_SendEstimateDto"
              }
            ]
          },
          "frequencySettings": {
            "description": "frequency settings for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_FrequencySettingsDto"
              }
            ]
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for the estimate number",
            "example": "EST-",
            "default": "EST-"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "autoInvoice": {
            "description": "Auto invoice for the estimate",
            "example": {
              "enabled": true,
              "directPayments": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AutoInvoicingDto"
              }
            ]
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          },
          "paymentScheduleConfig": {
            "description": "Payment Schedule Config for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentScheduleConfigDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount",
          "contactDetails",
          "frequencySettings"
        ]
      },
      "invoices_v3_BusinessDetails": {
        "type": "object",
        "properties": {}
      },
      "invoices_v3_ContactDetails": {
        "type": "object",
        "properties": {}
      },
      "invoices_v3_SentTo": {
        "type": "object",
        "properties": {}
      },
      "invoices_v3_AutoInvoice": {
        "type": "object",
        "properties": {}
      },
      "invoices_v3_EstimateResponseDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "_id": {
            "type": "string",
            "description": "Unique identifier",
            "example": "67ac9a51106ee8311e911XXXX"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Indicates if it is in live mode",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Indicates if deleted",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Estimate Name"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "businessDetails": {
            "description": "Business details associated with the estimate",
            "example": {
              "logoUrl": "your_image-url",
              "name": "Business name",
              "address": {
                "addressLine1": "address line 1",
                "city": "Test City",
                "state": "State Name",
                "countryCode": "US",
                "postalCode": "12345"
              },
              "phoneNo": "+1 1234567890",
              "website": "www.example.com",
              "customValues": [
                {
                  "name": "Test",
                  "fieldKey": "{{custom_values.test}}",
                  "id": "5DYTWoiQvWiIJZXX44XXX",
                  "value": "Test's Custom Value"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetails"
              }
            ]
          },
          "items": {
            "description": "An array of items",
            "example": [
              {
                "taxes": [],
                "taxInclusive": false,
                "_id": "67ac9a51106ee8311e911XXXX",
                "description": "<p>Futuristic anti-gravity racing</p>",
                "currency": "USD",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "amount": 9.99,
                "qty": 1,
                "name": "TEST",
                "type": "one_time"
              },
              {
                "taxes": [
                  {
                    "_id": "67ac9a51106ee8311e911XXXX",
                    "name": "TaxTwo",
                    "rate": 8.5,
                    "calculation": "exclusive"
                  }
                ],
                "taxInclusive": true,
                "_id": "67ac9a51106ee8311e911XXXX",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "currency": "USD",
                "name": "TEST2",
                "qty": 1,
                "amount": 500,
                "description": "",
                "type": "recurring"
              }
            ],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "discount": {
            "description": "Discount details for the estimate template",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "ESTIMATE"
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Estimate number prefix",
            "example": "EST-"
          },
          "attachments": {
            "description": "Attachments",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "updatedBy": {
            "type": "string",
            "description": "User Id of who last updated",
            "example": "3HIpOF9NIc5ltriQXXXX"
          },
          "total": {
            "type": "number",
            "description": "Total amount",
            "example": 1222.03
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when created",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when last updated",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "__v": {
            "type": "number",
            "description": "Version number",
            "example": 0
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Indicates if automatic taxes are enabled for this estimate",
            "example": false
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms and conditions for the estimate, supports HTML markup",
            "example": "<p>All services are subject to availability.</p>"
          },
          "companyId": {
            "type": "string",
            "description": "Company identifier associated with the estimate",
            "example": "COMP12345"
          },
          "contactDetails": {
            "description": "Contact details for the estimate",
            "example": {
              "id": "jvzfKTNdE7OYXXXXXX",
              "name": "Contact Name",
              "phoneNo": "+911111111114",
              "email": "email@test.com",
              "address": {
                "countryCode": "US"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetails"
              }
            ]
          },
          "issueDate": {
            "format": "date-time",
            "type": "string",
            "description": "Date when the estimate was issued",
            "example": "2023-06-15T00:00:00.000Z"
          },
          "expiryDate": {
            "format": "date-time",
            "type": "string",
            "description": "Date when the estimate expires",
            "example": "2023-07-15T00:00:00.000Z"
          },
          "sentBy": {
            "type": "string",
            "description": "User who sent the estimate",
            "example": "user@example.com"
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Indicates if automatic taxes were calculated",
            "example": true
          },
          "meta": {
            "type": "object",
            "description": "Additional metadata associated with the estimate",
            "example": {
              "key": "value"
            }
          },
          "estimateActionHistory": {
            "description": "History of actions taken on the estimate",
            "example": [
              {
                "action": "Created",
                "timestamp": "2023-06-15T10:00:00.000Z"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sentTo": {
            "description": "Recipient details for the estimate",
            "example": {
              "email": [
                "test@example.com"
              ],
              "phoneNo": [
                "+1 99444444444"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_SentTo"
              }
            ]
          },
          "frequencySettings": {
            "description": "Frequency settings for recurring estimates",
            "examples": [
              {
                "enabled": false
              },
              {
                "enabled": true,
                "schedule": {
                  "rrule": {
                    "intervalType": "monthly",
                    "numOfWeek": 0,
                    "dayOfMonth": 1,
                    "interval": 1,
                    "startDate": "2025-02-12",
                    "endType": "after",
                    "count": "5"
                  }
                }
              },
              {
                "enabled": true,
                "schedule": {
                  "rrule": {
                    "intervalType": "monthly",
                    "numOfWeek": 0,
                    "dayOfMonth": 1,
                    "interval": 1,
                    "startDate": "2025-02-12",
                    "endType": "by",
                    "endDate": "2025-02-24"
                  }
                }
              },
              {
                "enabled": true,
                "schedule": {
                  "rrule": {
                    "intervalType": "monthly",
                    "numOfWeek": 0,
                    "dayOfMonth": 1,
                    "interval": 1,
                    "startDate": "2025-02-12",
                    "endType": "never"
                  }
                }
              }
            ],
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_FrequencySettingsDto"
              }
            ]
          },
          "lastVisitedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when the estimate was last visited",
            "example": "2023-06-20T08:30:00.000Z"
          },
          "totalamountInUSD": {
            "type": "number",
            "description": "Total amount in USD",
            "example": 1500.75
          },
          "autoInvoice": {
            "description": "Auto-invoice settings for the estimate",
            "example": {
              "enabled": true,
              "directPayments": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AutoInvoice"
              }
            ]
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID for logging and debugging",
            "example": "010c7a01-857f-4619-970d-xyxyxyxy"
          }
        },
        "required": [
          "altId",
          "altType",
          "_id",
          "liveMode",
          "deleted",
          "name",
          "currency",
          "businessDetails",
          "items",
          "discount",
          "total",
          "createdAt",
          "updatedAt",
          "__v",
          "automaticTaxesEnabled",
          "companyId",
          "contactDetails",
          "issueDate",
          "expiryDate",
          "automaticTaxesCalculated",
          "meta",
          "estimateActionHistory",
          "sentTo",
          "frequencySettings",
          "lastVisitedAt",
          "totalamountInUSD",
          "traceId"
        ]
      },
      "invoices_v3_UpdateEstimateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Estimate Name",
            "example": "Home Service Estimate"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the estimate.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_EstimateLineItemDto"
            }
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true,
            "default": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the estimate",
            "example": "ESTIMATE"
          },
          "contactDetails": {
            "description": "Contact information to send the estimate to",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ContactDetailsDto"
              }
            ]
          },
          "estimateNumber": {
            "type": "number",
            "description": "Estimate Number, if not specified will take in the next valid estimate number",
            "example": 1001
          },
          "issueDate": {
            "type": "string",
            "description": "issue date estimate",
            "example": "2024-08-07"
          },
          "expiryDate": {
            "type": "string",
            "description": "expiry date estimate",
            "example": "2024-08-10"
          },
          "sentTo": {
            "description": "Email and sent to details for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_SentToDto"
              }
            ]
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Estimate",
            "example": true,
            "default": false
          },
          "meta": {
            "type": "object",
            "description": "Meta data for the estimate",
            "example": {
              "key": "value"
            }
          },
          "sendEstimateDetails": {
            "description": "When sending estimate directly while saving",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_SendEstimateDto"
              }
            ]
          },
          "frequencySettings": {
            "description": "frequency settings for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_FrequencySettingsDto"
              }
            ]
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for the estimate number",
            "example": "EST-",
            "default": "EST-"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "autoInvoice": {
            "description": "Auto invoice for the estimate",
            "example": {
              "enabled": true,
              "directPayments": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_AutoInvoicingDto"
              }
            ]
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          },
          "paymentScheduleConfig": {
            "description": "Payment Schedule Config for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_PaymentScheduleConfigDto"
              }
            ]
          },
          "estimateStatus": {
            "type": "string",
            "description": "Estimate Status",
            "example": "sent",
            "enum": [
              "all",
              "draft",
              "sent",
              "accepted",
              "declined",
              "invoiced",
              "viewed"
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount",
          "contactDetails",
          "frequencySettings"
        ]
      },
      "invoices_v3_GenerateEstimateNumberResponse": {
        "type": "object",
        "properties": {
          "estimateNumber": {
            "type": "number"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "estimateNumber",
          "traceId"
        ]
      },
      "invoices_v3_AltDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "invoices_v3_CreateInvoiceFromEstimateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "markAsInvoiced": {
            "type": "boolean",
            "description": "Mark Estimate as Invoiced",
            "example": true
          },
          "version": {
            "type": "string",
            "description": "Version of the update request",
            "example": "v2",
            "enum": [
              "v1",
              "v2"
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "markAsInvoiced"
        ]
      },
      "invoices_v3_CreateInvoiceFromEstimateResponseDTO": {
        "type": "object",
        "properties": {
          "estimate": {
            "description": "Estimate details",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_EstimateResponseDto"
              }
            ]
          },
          "invoice": {
            "description": "Invoice details",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DefaultInvoiceResponseDto"
              }
            ]
          }
        },
        "required": [
          "estimate",
          "invoice"
        ]
      },
      "invoices_v3_ListEstimatesResponseDTO": {
        "type": "object",
        "properties": {
          "estimates": {
            "description": "List of estimates",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of estimates"
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing the request"
          }
        },
        "required": [
          "estimates",
          "total",
          "traceId"
        ]
      },
      "invoices_v3_EstimateIdParam": {
        "type": "object",
        "properties": {
          "estimateId": {
            "type": "string",
            "description": "Estimate Id",
            "example": "5f9d6d8b1b2d2c001f2d9e4b"
          }
        },
        "required": [
          "estimateId"
        ]
      },
      "invoices_v3_ListEstimateTemplateResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "List of estimate templates",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of estimate templates available"
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing the request"
          }
        },
        "required": [
          "data",
          "totalCount",
          "traceId"
        ]
      },
      "invoices_v3_EstimateTemplatesDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Estimate Name",
            "example": "Home Service Estimate Template"
          },
          "businessDetails": {
            "$ref": "#/components/schemas/invoices_v3_BusinessDetailsDto"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "items": {
            "description": "An array of items for the estimate.",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "liveMode": {
            "type": "boolean",
            "description": "livemode for estimate",
            "example": true,
            "default": true
          },
          "discount": {
            "$ref": "#/components/schemas/invoices_v3_DiscountDto"
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms notes, Also supports HTML markups",
            "example": "<p>This is a default terms.</p>"
          },
          "title": {
            "type": "string",
            "description": "Title for the estimate",
            "example": "ESTIMATE"
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Automatic taxes enabled for the Estimate",
            "example": true,
            "default": false
          },
          "meta": {
            "type": "object",
            "description": "Meta data for the estimate",
            "example": {
              "key": "value"
            }
          },
          "sendEstimateDetails": {
            "description": "When sending estimate directly while saving",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_SendEstimateDto"
              }
            ]
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Prefix for the estimate number",
            "example": "EST-",
            "default": "EST-"
          },
          "attachments": {
            "description": "attachments for the invoice",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "miscellaneousCharges": {
            "description": "miscellaneous charges for the estimate",
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_ProcessingFeeDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "businessDetails",
          "currency",
          "items",
          "discount"
        ]
      },
      "invoices_v3_EstimateTemplateResponseDTO": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "_id": {
            "type": "string",
            "description": "Unique identifier",
            "example": "67ac9a51106ee8311e911XXXX"
          },
          "liveMode": {
            "type": "boolean",
            "description": "Indicates if it is in live mode",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Indicates if deleted",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Estimate Name"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "businessDetails": {
            "description": "Business details associated with the estimate",
            "example": {
              "logoUrl": "your_image-url",
              "name": "Business name",
              "address": {
                "addressLine1": "address line 1",
                "city": "Test City",
                "state": "State Name",
                "countryCode": "US",
                "postalCode": "12345"
              },
              "phoneNo": "+1 1234567890",
              "website": "www.example.com",
              "customValues": [
                {
                  "name": "Test",
                  "fieldKey": "{{custom_values.test}}",
                  "id": "5DYTWoiQvWiIJZXX44XXX",
                  "value": "Test's Custom Value"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_BusinessDetails"
              }
            ]
          },
          "items": {
            "description": "An array of items",
            "example": [
              {
                "taxes": [],
                "taxInclusive": false,
                "_id": "67ac9a51106ee8311e911XXXX",
                "description": "<p>Futuristic anti-gravity racing</p>",
                "currency": "USD",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "amount": 9.99,
                "qty": 1,
                "name": "TEST",
                "type": "one_time"
              },
              {
                "taxes": [
                  {
                    "_id": "67ac9a51106ee8311e911XXXX",
                    "name": "TaxTwo",
                    "rate": 8.5,
                    "calculation": "exclusive"
                  }
                ],
                "taxInclusive": true,
                "_id": "67ac9a51106ee8311e911XXXX",
                "productId": "67ac9a51106ee8311e911XXXX",
                "priceId": "67ac9a51106ee8311e911XXXX",
                "currency": "USD",
                "name": "TEST2",
                "qty": 1,
                "amount": 500,
                "description": "",
                "type": "recurring"
              }
            ],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "discount": {
            "description": "Discount details for the estimate template",
            "example": {
              "type": "percentage",
              "value": 0
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/invoices_v3_DiscountDto"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "ESTIMATE"
          },
          "estimateNumberPrefix": {
            "type": "string",
            "description": "Estimate number prefix",
            "example": "EST-"
          },
          "attachments": {
            "description": "Attachments",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoices_v3_AttachmentsDto"
            }
          },
          "updatedBy": {
            "type": "string",
            "description": "User Id of who last updated",
            "example": "3HIpOF9NIc5ltriQXXXX"
          },
          "total": {
            "type": "number",
            "description": "Total amount",
            "example": 1222.03
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when created",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when last updated",
            "example": "2025-02-12T13:17:47.416Z"
          },
          "__v": {
            "type": "number",
            "description": "Version number",
            "example": 0
          },
          "automaticTaxesEnabled": {
            "type": "boolean",
            "description": "Indicates if automatic taxes are enabled for this estimate",
            "example": false
          },
          "termsNotes": {
            "type": "string",
            "description": "Terms and conditions for the estimate, supports HTML markup",
            "example": "<p>All services are subject to availability.</p>"
          }
        },
        "required": [
          "altId",
          "altType",
          "_id",
          "liveMode",
          "deleted",
          "name",
          "currency",
          "businessDetails",
          "items",
          "discount",
          "total",
          "createdAt",
          "updatedAt",
          "__v",
          "automaticTaxesEnabled"
        ]
      },
      "knowledge_base_v3_BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          }
        }
      },
      "knowledge_base_v3_UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized"
          }
        }
      },
      "knowledge_base_v3_UnprocessableDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 422
          },
          "message": {
            "example": [
              "Unprocessable Entity"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "error": {
            "type": "string",
            "example": "Unprocessable Entity"
          }
        }
      },
      "knowledge_base_v3_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 500
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error"
          }
        }
      },
      "knowledge_base_v3_FaqResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "FAQ ID as string",
            "example": "3rzeElC1FOVY91veVBkp"
          },
          "question": {
            "type": "string",
            "description": "FAQ question",
            "example": "What is 1+2?"
          },
          "questionLowerCase": {
            "type": "string",
            "description": "FAQ question in lowercase",
            "example": "what is 1+2?"
          },
          "answer": {
            "type": "string",
            "description": "FAQ answer",
            "example": "3"
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "I1rITlYLJofFosIqC4Np"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "trainedUrlId": {
            "type": "string",
            "description": "Trained URL ID",
            "example": "688e6b6d8a1887e6d94d1475"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the FAQ is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Date when FAQ was created",
            "example": "2025-08-02T19:47:57.243Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when FAQ was last updated",
            "example": "2025-08-02T19:47:57.243Z"
          }
        },
        "required": [
          "id",
          "question",
          "questionLowerCase",
          "answer",
          "knowledgeBaseId",
          "locationId",
          "trainedUrlId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "knowledge_base_v3_ListFaqsResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total count of all FAQs in the knowledge base",
            "example": 150
          },
          "faqs": {
            "description": "Array of FAQ objects",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_v3_FaqResponseDTO"
            }
          },
          "lastFaqId": {
            "type": "string",
            "description": "Last FAQ ID for pagination (use as lastFaqId in next request)",
            "example": "3rzeElC1FOVY91veVBkp"
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether there are more FAQs available",
            "example": true
          }
        },
        "required": [
          "count",
          "faqs"
        ]
      },
      "knowledge_base_v3_AddFaqDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "location ID as string",
            "example": "HqDZpF8GH3qvgJTmKCoL"
          },
          "question": {
            "type": "string",
            "description": "faq question as a string",
            "example": "What is the capital of France?"
          },
          "answer": {
            "type": "string",
            "description": "faq answer as a string",
            "example": "The capital of France is Paris."
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base ID as string",
            "example": "710KoEzy793Fxubft0bc"
          }
        },
        "required": [
          "locationId",
          "question",
          "answer",
          "knowledgeBaseId"
        ]
      },
      "knowledge_base_v3_CreateFaqResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "faq": {
            "description": "Created FAQ details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_FaqResponseDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "faq"
        ]
      },
      "knowledge_base_v3_UpdateFaqBodyDTO": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "faq question as a string",
            "example": "What is the capital of France?"
          },
          "answer": {
            "type": "string",
            "description": "faq answer as a string",
            "example": "The capital of France is Paris."
          }
        },
        "required": [
          "question",
          "answer"
        ]
      },
      "knowledge_base_v3_UpdateFaqResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the update operation",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_v3_DeleteFaqResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the delete operation",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_v3_CrawledUrlDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the URL",
            "example": "688c73a25275c513f5f3a7de"
          },
          "url": {
            "type": "string",
            "description": "The actual URL that was crawled",
            "example": "https://developer.mozilla.org/en-US/blog"
          },
          "title": {
            "type": "string",
            "description": "Title of the webpage",
            "example": "MDN Blog"
          },
          "status": {
            "type": "string",
            "description": "Current processing status of the URL",
            "example": "Successful",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "locationId": {
            "type": "string",
            "description": "Location ID associated with this URL",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID this URL belongs to",
            "example": "Arc9QRauPKkSuMJO8D0m"
          },
          "content": {
            "type": "string",
            "description": "URL to the stored content file",
            "example": "https://storage.googleapis.com/crm-conversations-ai-staging/conversationAI/2025/8/1/locations/qIyivCmsuEOSnyoFYEej/688c739c88c89f21ad30f63e-4IseusbZ3vDXMT8WNw9M.txt"
          },
          "contentEditedByUser": {
            "type": "boolean",
            "description": "Whether the content was edited by user",
            "example": false
          },
          "updatedAt": {
            "type": "string",
            "description": "Last updated timestamp",
            "example": "2025-08-01T07:58:29.858Z"
          }
        },
        "required": [
          "id",
          "url",
          "title",
          "status",
          "locationId",
          "knowledgeBaseId",
          "content",
          "contentEditedByUser",
          "updatedAt"
        ]
      },
      "knowledge_base_v3_GetAllUrlsByKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Total count of URLs in the knowledge base",
            "example": 64
          },
          "urls": {
            "description": "Array of crawled URLs with their details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_v3_CrawledUrlDTO"
            }
          }
        },
        "required": [
          "count",
          "urls"
        ]
      },
      "knowledge_base_v3_ErrorDetailsDTO": {
        "type": "object",
        "properties": {
          "stack": {
            "type": "string",
            "description": "Error stack trace",
            "example": "HttpException: Failed to fetch HTML content\n    at getHtml (/app/dist/apps/conversations-ai/crm-conversations-ai-discover-worker.js:2531:15)"
          },
          "response": {
            "type": "string",
            "description": "Error response message",
            "example": "Failed to fetch HTML content"
          },
          "status": {
            "type": "number",
            "description": "HTTP status code",
            "example": 500
          },
          "options": {
            "type": "object",
            "description": "Additional options (nullable)",
            "example": null
          },
          "message": {
            "type": "string",
            "description": "Error message",
            "example": "Failed to fetch HTML content"
          },
          "name": {
            "type": "string",
            "description": "Error name/type",
            "example": "HttpException"
          }
        },
        "required": [
          "stack",
          "response",
          "status",
          "message",
          "name"
        ]
      },
      "knowledge_base_v3_CrawlingRecordDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL being crawled",
            "example": "https://developer.mozilla.org/en-US/blog/rss.xml"
          },
          "id": {
            "type": "string",
            "description": "Unique record identifier",
            "example": "688e41118a188704914d13c0"
          },
          "title": {
            "type": "string",
            "description": "Page title (for successful/pending records)",
            "example": "JavaScript Temporal is coming | MDN Blog"
          },
          "error": {
            "description": "Error details (for failed records)",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_ErrorDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "url",
          "id"
        ]
      },
      "knowledge_base_v3_CrawlingAggregateDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Status grouping identifier",
            "example": "Failed",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "records": {
            "description": "Array of records for this status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_v3_CrawlingRecordDTO"
            }
          }
        },
        "required": [
          "_id",
          "records"
        ]
      },
      "knowledge_base_v3_OperationDetailsDTO": {
        "type": "object",
        "properties": {
          "discoveredUrlsCount": {
            "type": "number",
            "description": "Number of URLs discovered",
            "example": 66
          },
          "trainedUrlsCount": {
            "type": "number",
            "description": "Number of URLs successfully trained",
            "example": 0
          },
          "_id": {
            "type": "string",
            "description": "Operation unique identifier",
            "example": "688e410c8a18870ecf4d13bb"
          },
          "locationId": {
            "type": "string",
            "description": "Associated location ID",
            "example": "nnAzVJqSv6PJ1p6zrhvC"
          },
          "status": {
            "type": "string",
            "description": "Current operation status",
            "example": "Pending",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "url": {
            "type": "string",
            "description": "Base URL being crawled",
            "example": "https://developer.mozilla.org/en-US/blog/"
          },
          "mode": {
            "type": "string",
            "description": "Crawling mode used",
            "example": "Path",
            "enum": [
              "Exact",
              "Path",
              "Domain"
            ]
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "CCNPhKqSCkTOG8O7dtbq"
          },
          "createdAt": {
            "type": "string",
            "description": "Operation creation timestamp",
            "example": "2025-08-02T16:47:08.182Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-08-02T16:48:43.635Z"
          },
          "__v": {
            "type": "number",
            "description": "Version field",
            "example": 0
          },
          "robotsFileData": {
            "type": "string",
            "description": "Robots.txt file content",
            "example": "User-agent: *\nSitemap: https://developer.mozilla.org/sitemap.xml\nDisallow: /api/"
          }
        },
        "required": [
          "discoveredUrlsCount",
          "trainedUrlsCount",
          "_id",
          "locationId",
          "status",
          "url",
          "mode",
          "knowledgeBaseId",
          "createdAt",
          "updatedAt",
          "__v"
        ]
      },
      "knowledge_base_v3_CrawlingStatusDataDTO": {
        "type": "object",
        "properties": {
          "aggregate": {
            "description": "Aggregated crawling results by status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_v3_CrawlingAggregateDTO"
            }
          },
          "operationDetails": {
            "description": "Detailed operation information",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_OperationDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "aggregate",
          "operationDetails"
        ]
      },
      "knowledge_base_v3_CrawlingStatusResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          },
          "data": {
            "description": "Detailed crawling status data",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_CrawlingStatusDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_v3_DiscoverWebsiteRequestDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "url": {
            "type": "string",
            "description": "Website URL as string",
            "example": "https://kubernetes.io/tDtDnQdgm2LXpyiqYvZ6"
          },
          "option": {
            "type": "string",
            "description": "Mode as string",
            "example": "Exact",
            "enum": [
              "Exact",
              "Path",
              "Domain"
            ]
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          }
        },
        "required": [
          "locationId",
          "url",
          "option",
          "knowledgeBaseId"
        ]
      },
      "knowledge_base_v3_DiscoverWebsiteDataDTO": {
        "type": "object",
        "properties": {
          "operationId": {
            "type": "string",
            "description": "Operation ID for tracking the discovery process",
            "example": "688e410c8a18870ecf4d13bb"
          },
          "status": {
            "type": "string",
            "description": "Current status of the website discovery operation",
            "example": "Processing",
            "enum": [
              "Pending",
              "Processing",
              "Successful",
              "Failed",
              "Existing",
              "Restricted",
              "Cancelled",
              "Aborted",
              "Training"
            ]
          },
          "url": {
            "type": "string",
            "description": "The URL being discovered/crawled",
            "example": "https://developer.mozilla.org/en-US/blog/"
          }
        },
        "required": [
          "operationId",
          "status",
          "url"
        ]
      },
      "knowledge_base_v3_DiscoverWebsiteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          },
          "data": {
            "description": "Data containing operation details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_DiscoverWebsiteDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_v3_TrainDiscoveredUrlsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "urlIds": {
            "description": "List of Object ids of the discovered urls",
            "example": [
              "688b640bcb02d498102a13ec",
              "688b640bcb02d498102a13ea"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base id",
            "example": "jjkkxftgvbhjmn,"
          },
          "operationId": {
            "type": "string",
            "description": "operation id as string",
            "example": "688b640bcb02d498102a13f0,"
          }
        },
        "required": [
          "locationId",
          "urlIds",
          "knowledgeBaseId",
          "operationId"
        ]
      },
      "knowledge_base_v3_TrainDiscoveredUrlsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_v3_DeleteWebsiteUrlRequestDTO": {
        "type": "object",
        "properties": {
          "knowledgeBaseId": {
            "type": "string",
            "description": "knowledge base ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "location ID as string",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "urlIds": {
            "description": "List of trained urls ids ( fetched from the Get all trained page links by knowledge base endpoint)",
            "example": "[tDtDnQdgm2LXpyiqYvZ6]",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "knowledgeBaseId",
          "locationId",
          "urlIds"
        ]
      },
      "knowledge_base_v3_DeleteWebsiteUrlResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_v3_KnowledgeBaseListItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "ZwTB8S0yo0FIBY6OPZTD"
          },
          "name": {
            "type": "string",
            "description": "Knowledge base name",
            "example": "bot training kb"
          },
          "createdAt": {
            "type": "string",
            "description": "Date when knowledge base was created",
            "example": "2025-08-02T20:26:57.057Z"
          }
        },
        "required": [
          "id",
          "name",
          "createdAt"
        ]
      },
      "knowledge_base_v3_GetAllKnowledgeBasesPaginatedDataDTO": {
        "type": "object",
        "properties": {
          "knowledgeBases": {
            "description": "Array of knowledge bases",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/knowledge_base_v3_KnowledgeBaseListItemDTO"
            }
          },
          "activeCount": {
            "type": "number",
            "description": "Total count of all active knowledge bases",
            "example": 16
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether there are more knowledge bases available",
            "example": true
          },
          "lastKnowledgeBaseId": {
            "type": "string",
            "description": "ID of the last knowledge base in this page (use for next page request)",
            "example": "ZwTB8S0yo0FIBY6OPZTD"
          }
        },
        "required": [
          "knowledgeBases",
          "activeCount",
          "hasMore"
        ]
      },
      "knowledge_base_v3_GetAllKnowledgeBasesPaginatedResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "data": {
            "description": "Paginated knowledge bases data",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_GetAllKnowledgeBasesPaginatedDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_v3_KnowledgeBaseMetadataDTO": {
        "type": "object",
        "properties": {
          "faqs": {
            "type": "number",
            "description": "Number of FAQs in the knowledge base",
            "example": 2
          },
          "urls": {
            "type": "number",
            "description": "Number of URLs in the knowledge base",
            "example": 64
          },
          "richText": {
            "type": "number",
            "description": "Number of rich text documents in the knowledge base",
            "example": 0
          },
          "files": {
            "type": "number",
            "description": "Number of files in the knowledge base",
            "example": 0
          },
          "webSearches": {
            "type": "number",
            "description": "Number of web searche configs in the knowledge base",
            "example": 0
          },
          "tables": {
            "type": "number",
            "description": "Number of tables in the knowledge base",
            "example": 0
          }
        },
        "required": [
          "faqs",
          "urls",
          "richText",
          "files",
          "webSearches",
          "tables"
        ]
      },
      "knowledge_base_v3_GetKnowledgeBaseByIdDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "Arc9QRauPKkSuMJO8D0m"
          },
          "name": {
            "type": "string",
            "description": "Knowledge base name",
            "example": "KB for Bot Training"
          },
          "nameLowerCase": {
            "type": "string",
            "description": "Knowledge base name in lowercase",
            "example": "kb for bot training"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the knowledge base is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Date when knowledge base was created",
            "example": "2025-08-01T07:50:41.244Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when knowledge base was last updated",
            "example": "2025-08-01T10:05:58.694Z"
          },
          "kbMetadata": {
            "description": "Knowledge base metadata with content counts",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_KnowledgeBaseMetadataDTO"
              }
            ]
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether the knowledge base is default or not",
            "example": false
          }
        },
        "required": [
          "id",
          "name",
          "nameLowerCase",
          "locationId",
          "deleted",
          "createdAt",
          "updatedAt",
          "kbMetadata"
        ]
      },
      "knowledge_base_v3_GetKnowledgeBaseByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "data": {
            "description": "Knowledge base details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_GetKnowledgeBaseByIdDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_v3_CreateKnowledgeBaseDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "locationId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "locationId"
        ]
      },
      "knowledge_base_v3_KnowledgeBaseDataDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Knowledge base ID",
            "example": "ZwTB8S0yo0FIBY6OPZTD"
          },
          "name": {
            "type": "string",
            "description": "Knowledge base name",
            "example": "KB for Bot Training"
          },
          "nameLowerCase": {
            "type": "string",
            "description": "Knowledge base name in lowercase",
            "example": "kb for bot training"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "qIyivCmsuEOSnyoFYEej"
          },
          "kbMetadata": {
            "type": "object",
            "description": "Knowledge base metadata",
            "example": {}
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the knowledge base is deleted",
            "example": false
          },
          "createdAt": {
            "type": "string",
            "description": "Date when knowledge base was created",
            "example": "2025-08-02T20:26:57.057Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when knowledge base was last updated",
            "example": "2025-08-02T20:26:57.057Z"
          }
        },
        "required": [
          "id",
          "name",
          "nameLowerCase",
          "locationId",
          "kbMetadata",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "knowledge_base_v3_CreateKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the operation",
            "example": true
          },
          "data": {
            "description": "Created knowledge base details",
            "allOf": [
              {
                "$ref": "#/components/schemas/knowledge_base_v3_KnowledgeBaseDataDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      },
      "knowledge_base_v3_UpdateKnowledgeBaseDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "field to update the name of the knowledge base"
          },
          "description": {
            "type": "string",
            "description": "field to update the description of the knowledge base"
          }
        }
      },
      "knowledge_base_v3_UpdateKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "knowledge_base_v3_DeleteKnowledgeBaseResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ]
      },
      "links_v3_LinkSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the trigger link",
            "example": "n4AriwEnFrGh3tu08W0U"
          },
          "name": {
            "type": "string",
            "description": "Display name of the trigger link",
            "example": "first tag"
          },
          "redirectTo": {
            "type": "string",
            "description": "URL or variable to redirect to when the trigger link is clicked",
            "example": "https://www.google.com/"
          },
          "fieldKey": {
            "type": "string",
            "description": "Template variable key used to reference this trigger link",
            "example": "{{trigger_link.n4AriwEnFrGh3tu08W0U}}"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID this trigger link belongs to",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "links_v3_GetLinksSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "links": {
            "type": "array",
            "description": "List of trigger links",
            "example": [
              {
                "id": "n4AriwEnFrGh3tu08W0U",
                "name": "first tag",
                "redirectTo": "https://www.google.com/",
                "fieldKey": "{{trigger_link.n4AriwEnFrGh3tu08W0U}}",
                "locationId": "ve9EPM428h8vShlRW1KT"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/links_v3_LinkSchema"
            }
          }
        }
      },
      "links_v3_LinksDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID of the business profile",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Display name of the trigger link",
            "example": "first tag"
          },
          "redirectTo": {
            "type": "string",
            "description": "URL or variable to redirect to when the trigger link is clicked",
            "example": "https://www.google.com/"
          }
        },
        "required": [
          "locationId",
          "name",
          "redirectTo"
        ]
      },
      "links_v3_GetLinkSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "link": {
            "description": "The trigger link object",
            "example": {
              "id": "n4AriwEnFrGh3tu08W0U",
              "name": "first tag",
              "redirectTo": "https://www.google.com/",
              "fieldKey": "{{trigger_link.n4AriwEnFrGh3tu08W0U}}",
              "locationId": "ve9EPM428h8vShlRW1KT"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/links_v3_LinkSchema"
              }
            ]
          }
        }
      },
      "links_v3_LinkUpdateDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the trigger link",
            "example": "first tag"
          },
          "redirectTo": {
            "type": "string",
            "description": "URL or variable to redirect to when the trigger link is clicked",
            "example": "https://www.google.com/"
          }
        },
        "required": [
          "name",
          "redirectTo"
        ]
      },
      "links_v3_DeleteLinksSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "description": "Indicates whether the link was successfully deleted (legacy field, misspelled). Use `succeeded` with x-api-version: v3.",
            "example": true,
            "deprecated": true
          },
          "succeeded": {
            "type": "boolean",
            "description": "Indicates whether the link was successfully deleted.",
            "example": true
          }
        }
      },
      "locations_v3_SettingsSchema": {
        "type": "object",
        "properties": {
          "allowDuplicateContact": {
            "type": "boolean",
            "example": false
          },
          "allowDuplicateOpportunity": {
            "type": "boolean",
            "example": false
          },
          "allowFacebookNameMerge": {
            "type": "boolean",
            "example": false
          },
          "disableContactTimezone": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "locations_v3_SocialSchema": {
        "type": "object",
        "properties": {
          "facebookUrl": {
            "type": "string",
            "description": "Facebook URL",
            "example": "https://www.facebook.com/"
          },
          "googlePlus": {
            "type": "string",
            "description": "Googleplus URL",
            "example": "https://www.googleplus.com/"
          },
          "linkedIn": {
            "type": "string",
            "description": "LinkedIn URL",
            "example": "https://www.linkedIn.com/"
          },
          "foursquare": {
            "type": "string",
            "description": "Foursquare URL",
            "example": "https://www.foursquare.com/"
          },
          "twitter": {
            "type": "string",
            "description": "Twitter URL",
            "example": "https://www.foutwitterrsquare.com/"
          },
          "yelp": {
            "type": "string",
            "description": "Yelp URL",
            "example": "https://www.yelp.com/"
          },
          "instagram": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.instagram.com/"
          },
          "youtube": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.youtube.com/"
          },
          "pinterest": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.pinterest.com/"
          },
          "blogRss": {
            "type": "string",
            "description": "Instagram URL",
            "example": "https://www.blogRss.com/"
          },
          "googlePlacesId": {
            "type": "string",
            "description": "Google Business Places ID",
            "example": "ChIJJGPdVbQTrjsRGUkefteUeFk"
          }
        }
      },
      "locations_v3_GetLocationSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created"
          },
          "email": {
            "type": "string",
            "example": "john.doe@mail.com",
            "description": "The email for the sub-account/location"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country in which the business is present for which sub-account is created"
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SocialSchema"
              }
            ]
          }
        }
      },
      "locations_v3_SearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_v3_GetLocationSchema"
            }
          }
        }
      },
      "locations_v3_BusinessSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "dentist"
          },
          "address": {
            "type": "string",
            "example": "MIG 14, Delhi"
          },
          "city": {
            "type": "string",
            "example": "delhi"
          },
          "state": {
            "type": "string",
            "example": "delhi"
          },
          "country": {
            "type": "string",
            "example": "IN"
          },
          "postalCode": {
            "type": "string",
            "example": "567654"
          },
          "website": {
            "type": "string",
            "example": "https://crm.gesvision.com/"
          },
          "timezone": {
            "type": "string",
            "example": "America/Chicago"
          },
          "logoUrl": {
            "type": "string",
            "example": "https://dummyimage.com/o/locationPhotos%2Fve9EPM428h8vShlRW1KT.jpeg"
          }
        }
      },
      "locations_v3_GetLocationByIdSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "companyId": {
            "type": "string",
            "example": "5DP4iH6HLkQsiKESj6rh"
          },
          "name": {
            "type": "string",
            "example": "dentist"
          },
          "domain": {
            "type": "string",
            "example": "test.msgsndr.com"
          },
          "address": {
            "type": "string",
            "example": "ganthi nagar, gyanbabu chauk motihati"
          },
          "city": {
            "type": "string",
            "example": "motihari"
          },
          "state": {
            "type": "string",
            "example": "Loca"
          },
          "logoUrl": {
            "type": "string",
            "example": "https://dummyimage.com/o/locationPhotos%2Fve9EPM428h8vShlRW1KT.jpeg"
          },
          "country": {
            "type": "string",
            "example": "IN"
          },
          "postalCode": {
            "type": "string",
            "example": "567654"
          },
          "website": {
            "type": "string",
            "example": "https://crm.gesvision.com/"
          },
          "timezone": {
            "type": "string",
            "example": "America/Chicago"
          },
          "firstName": {
            "type": "string",
            "example": "Dr. Rane"
          },
          "lastName": {
            "type": "string",
            "example": "deo"
          },
          "email": {
            "type": "string",
            "example": "rane@due.com"
          },
          "phone": {
            "type": "string",
            "example": "+919039160788"
          },
          "business": {
            "$ref": "#/components/schemas/locations_v3_BusinessSchema"
          },
          "social": {
            "$ref": "#/components/schemas/locations_v3_SocialSchema"
          },
          "settings": {
            "$ref": "#/components/schemas/locations_v3_SettingsSchema"
          },
          "reseller": {
            "type": "object"
          }
        }
      },
      "locations_v3_GetLocationByIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "location": {
            "$ref": "#/components/schemas/locations_v3_GetLocationByIdSchema"
          }
        }
      },
      "locations_v3_ProspectInfoDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the prospect",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the prospect",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "description": "Email of the prospect",
            "example": "john.doe@mail.com"
          }
        },
        "required": [
          "firstName",
          "lastName",
          "email"
        ]
      },
      "locations_v3_TwilioSchema": {
        "type": "object",
        "properties": {
          "sid": {
            "type": "string",
            "description": "SID provided by Twilio",
            "example": "AC_XXXXXXXXXXX"
          },
          "authToken": {
            "type": "string",
            "description": "Auth token provided by Twilio",
            "example": "77_XXXXXXXXXXX"
          }
        },
        "required": [
          "sid",
          "authToken"
        ]
      },
      "locations_v3_MailgunSchema": {
        "type": "object",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "API key provided by Mailgun",
            "example": "key-XXXXXXXXXXX"
          },
          "domain": {
            "type": "string",
            "description": "Domain connected with Mailgun",
            "example": "replies.yourdomain.com"
          }
        },
        "required": [
          "apiKey",
          "domain"
        ]
      },
      "locations_v3_CreateLocationDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created with the appropriate country-code"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id",
            "example": "UAXssdawIWAWD"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The 2 letter country-code in which the business is present for which sub-account is created",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "prospectInfo": {
            "example": {
              "firstName": "John",
              "lastName": "Doe",
              "email": "john.doe@mail.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_ProspectInfoDto"
              }
            ]
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SocialSchema"
              }
            ]
          },
          "twilio": {
            "description": "(DEPRECATED) The twilio credentials for location",
            "deprecated": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_TwilioSchema"
              }
            ]
          },
          "mailgun": {
            "description": "The mailgun credentials for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_MailgunSchema"
              }
            ]
          },
          "snapshotId": {
            "type": "string",
            "description": "The snapshot ID to be loaded into the location.",
            "example": "XXXXXXXXXXX"
          }
        },
        "required": [
          "name",
          "companyId"
        ]
      },
      "locations_v3_CreateLocationSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id",
            "example": "UAXssdawIWAWD"
          },
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created"
          },
          "email": {
            "type": "string",
            "example": "john.doe@mail.com",
            "description": "The email for the sub-account/location"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "domain": {
            "type": "string",
            "example": "test.msgsndr.com"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country in which the business is present for which sub-account is created",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SocialSchema"
              }
            ]
          }
        }
      },
      "locations_v3_SnapshotPutSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Snaptshot ID",
            "example": "XXXXXXXXXXX"
          },
          "override": {
            "type": "boolean",
            "description": "If you want override all conflicted assets then pass true. Default value is false.",
            "example": false,
            "default": false
          }
        },
        "required": [
          "id"
        ]
      },
      "locations_v3_UpdateLocationDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Mark Shoes",
            "description": "The name for the sub-account/location"
          },
          "phone": {
            "type": "string",
            "example": "+1410039940",
            "description": "The phone number of the business for which sub-account is created"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id",
            "example": "UAXssdawIWAWD"
          },
          "address": {
            "type": "string",
            "example": "4th fleet street",
            "description": "The address of the business for which sub-account is created"
          },
          "city": {
            "type": "string",
            "example": "New York",
            "description": "The city where the business is located for which sub-account is created"
          },
          "state": {
            "type": "string",
            "example": "Illinois",
            "description": "The state in which the business operates for which sub-account is created"
          },
          "country": {
            "type": "string",
            "example": "US",
            "description": "The country in which the business is present for which sub-account is created",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "postalCode": {
            "type": "string",
            "example": "567654",
            "description": "The postal code of the business for which sub-account is created"
          },
          "website": {
            "type": "string",
            "example": "https://yourwebsite.com",
            "description": "The website of the business for which sub-account is created"
          },
          "timezone": {
            "type": "string",
            "example": "US/Central",
            "description": "The timezone of the business for which sub-account is created"
          },
          "prospectInfo": {
            "example": {
              "firstName": "John",
              "lastName": "Doe",
              "email": "john.doe@mail.com"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_ProspectInfoDto"
              }
            ]
          },
          "settings": {
            "description": "The default settings for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SettingsSchema"
              }
            ]
          },
          "social": {
            "description": "The social media links for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SocialSchema"
              }
            ]
          },
          "twilio": {
            "description": "(DEPRECATED) The twilio credentials for location",
            "deprecated": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_TwilioSchema"
              }
            ]
          },
          "mailgun": {
            "description": "The mailgun credentials for location",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_MailgunSchema"
              }
            ]
          },
          "snapshot": {
            "description": "The snapshot to be updated in the location.",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_SnapshotPutSchema"
              }
            ]
          }
        },
        "required": [
          "companyId"
        ]
      },
      "locations_v3_LocationDeletedSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the API",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message of the API",
            "example": "Deleted location with id: ve9EPM428h8vShlRW1KT"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "locations_v3_LocationTagsSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "minim aliquip anim"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "id": {
            "type": "string",
            "example": "flGwEuzsfJOia1i1ikRN"
          }
        }
      },
      "locations_v3_LocationTagsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_v3_LocationTagsSchema"
            }
          }
        }
      },
      "locations_v3_LocationTagSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/locations_v3_LocationTagsSchema"
          }
        }
      },
      "locations_v3_tagBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag name",
            "example": "Tag"
          }
        },
        "required": [
          "name"
        ]
      },
      "locations_v3_LocationTagDeleteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_v3_TaskSearchParamsDto": {
        "type": "object",
        "properties": {
          "contactId": {
            "description": "Contact Ids",
            "example": [
              "dSMo5jnqkJyh8YeGXM7k",
              "j5WESpmRj816VtyUuWwh"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "completed": {
            "type": "boolean",
            "description": "Task Completed Or Pending",
            "example": true
          },
          "assignedTo": {
            "description": "Assigned User Ids",
            "example": [
              "0004Mtfsd11SBU1mBPgd"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "query": {
            "type": "string",
            "description": "Search Value",
            "example": "Task Name"
          },
          "limit": {
            "type": "number",
            "description": "Limit To Api",
            "example": 10,
            "default": 25
          },
          "skip": {
            "type": "number",
            "description": "Number Of Tasks To Skip",
            "default": 0,
            "example": 10
          },
          "businessId": {
            "type": "string",
            "description": "Bussiness Id",
            "example": "6348240b98722079e5417332"
          }
        }
      },
      "locations_v3_LocationTaskListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "array"
            }
          }
        }
      },
      "locations_v3_CustomFieldSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "3sv6UEo51C9Bmpo1cKTq"
          },
          "name": {
            "type": "string",
            "example": "pincode"
          },
          "fieldKey": {
            "type": "string",
            "example": "contact.pincode"
          },
          "placeholder": {
            "type": "string",
            "example": "Pin code"
          },
          "dataType": {
            "type": "string",
            "example": "TEXT"
          },
          "position": {
            "type": "number",
            "example": 0
          },
          "picklistOptions": {
            "example": [
              "first option"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "picklistImageOptions": {
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isAllowedCustomOption": {
            "type": "boolean",
            "example": false
          },
          "isMultiFileAllowed": {
            "type": "boolean",
            "example": true
          },
          "maxFileLimit": {
            "type": "number",
            "example": 4
          },
          "locationId": {
            "type": "string",
            "example": "3sv6UEo51C9Bmpo1cKTq"
          },
          "model": {
            "type": "string",
            "description": "Model of the custom field",
            "example": "opportunity",
            "enum": [
              "contact",
              "opportunity"
            ]
          }
        }
      },
      "locations_v3_CustomFieldsListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_v3_CustomFieldSchema"
            }
          }
        }
      },
      "locations_v3_CustomFieldSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customField": {
            "$ref": "#/components/schemas/locations_v3_CustomFieldSchema"
          }
        }
      },
      "locations_v3_textBoxListOptionsSchema": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "example": "First"
          },
          "prefillValue": {
            "type": "string",
            "example": ""
          }
        }
      },
      "locations_v3_CreateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Custom Field"
          },
          "dataType": {
            "type": "string",
            "example": "TEXT"
          },
          "placeholder": {
            "type": "string",
            "example": "Placeholder Text"
          },
          "acceptedFormat": {
            "example": [
              ".pdf",
              ".docx",
              ".jpeg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isMultipleFile": {
            "type": "boolean",
            "example": false
          },
          "maxNumberOfFiles": {
            "type": "number",
            "example": 2
          },
          "textBoxListOptions": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/locations_v3_textBoxListOptionsSchema"
                },
                {
                  "$ref": "#/components/schemas/locations_v3_textBoxListOptionsSchema"
                }
              ]
            }
          },
          "position": {
            "type": "number",
            "example": 0,
            "default": 0
          },
          "model": {
            "type": "string",
            "description": "Model of the custom field you want to create",
            "example": "opportunity",
            "enum": [
              "contact",
              "opportunity"
            ]
          }
        },
        "required": [
          "name",
          "dataType"
        ]
      },
      "locations_v3_UpdateCustomFieldsDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Custom Field"
          },
          "placeholder": {
            "type": "string",
            "example": "Placeholder Text"
          },
          "acceptedFormat": {
            "example": [
              ".pdf",
              ".docx",
              ".jpeg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isMultipleFile": {
            "type": "boolean",
            "example": false
          },
          "maxNumberOfFiles": {
            "type": "number",
            "example": 2
          },
          "textBoxListOptions": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/locations_v3_textBoxListOptionsSchema"
                },
                {
                  "$ref": "#/components/schemas/locations_v3_textBoxListOptionsSchema"
                }
              ]
            }
          },
          "position": {
            "type": "number",
            "example": 0,
            "default": 0
          },
          "model": {
            "type": "string",
            "description": "Model of the custom field you want to update",
            "example": "opportunity",
            "enum": [
              "contact",
              "opportunity"
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "locations_v3_CustomFieldDeleteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_v3_FileUploadBody": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id(Contact Id/Opportunity Id/Custom Field Id)",
            "example": "aWdODOBVOlH1RUFKWQke"
          },
          "maxFiles": {
            "type": "string",
            "description": "Max number of files",
            "example": "15"
          }
        }
      },
      "locations_v3_FileUploadResponseDto": {
        "type": "object",
        "properties": {
          "uploadedFiles": {
            "type": "object",
            "description": "Uploaded files",
            "example": {
              "FileName.csv": "https://crm-gesvision-private-staging.storage.googleapis.com/location/Ar4JQgIyuzRsVuwD9RSK/custom-Field/UpZLmohmKEQYn0ymqplY/56e0d7fc-085c-4a07-9e1d-6d8fdac7e710.csv"
            }
          },
          "meta": {
            "description": "Meta data of uploaded files",
            "example": [
              {
                "fieldname": "FileName.csv",
                "originalname": "FileName.csv",
                "encoding": "7bit",
                "mimetype": "text/csv",
                "size": 2061,
                "url": "https://crm-gesvision-private-staging.storage.googleapis.com/location/Ar4JQgIyuzRsVuwD9RSK/custom-Field/UpZLmohmKEQYn0ymqplY/56e0d7fc-085c-4a07-9e1d-6d8fdac7e710.csv"
              }
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "locations_v3_CustomValueSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "rWQ709Pb62syqGLceg1x"
          },
          "name": {
            "type": "string",
            "example": "Custom Field"
          },
          "fieldKey": {
            "type": "string",
            "example": "{{ custom_values.custom_field }}"
          },
          "value": {
            "type": "string",
            "example": "Value"
          },
          "locationId": {
            "type": "string",
            "example": "rWQ709Pb6dasyqGLceg1x"
          }
        }
      },
      "locations_v3_CustomValuesListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations_v3_CustomValueSchema"
            }
          }
        }
      },
      "locations_v3_CustomValueIdSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "customValue": {
            "$ref": "#/components/schemas/locations_v3_CustomValueSchema"
          }
        }
      },
      "locations_v3_customValuesDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Custom Field Name"
          },
          "value": {
            "type": "string",
            "example": "Value"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "locations_v3_CustomValueDeleteSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "locations_v3_SmsTemplateSchema": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "example": "sms body"
          },
          "attachments": {
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          }
        }
      },
      "locations_v3_GetSmsTemplateResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "2yMwhgTNO19bpintqrap"
          },
          "name": {
            "type": "string",
            "example": "sms template"
          },
          "type": {
            "type": "string",
            "example": "sms"
          },
          "template": {
            "$ref": "#/components/schemas/locations_v3_SmsTemplateSchema"
          },
          "dateAdded": {
            "type": "string",
            "example": "2022-01-27T12:31:19.679Z"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "urlAttachments": {
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "locations_v3_EmailTemplateSchema": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "example": "subject text"
          },
          "attachments": {
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "html": {
            "type": "string",
            "example": "<html><head><style>body{font-family: sans-serif;}</style></head><body>testing</body></html>"
          }
        }
      },
      "locations_v3_GetEmailTemplateResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "2yMwhgTNO19bpintqrap"
          },
          "name": {
            "type": "string",
            "example": "email template"
          },
          "type": {
            "type": "string",
            "example": "email"
          },
          "dateAdded": {
            "type": "string",
            "example": "2022-01-27T12:31:19.679Z"
          },
          "template": {
            "$ref": "#/components/schemas/locations_v3_EmailTemplateSchema"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "locations_v3_GetTemplatesSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/locations_v3_GetSmsTemplateResponseSchema"
                },
                {
                  "$ref": "#/components/schemas/locations_v3_GetEmailTemplateResponseSchema"
                }
              ]
            }
          },
          "totalCount": {
            "type": "number",
            "example": 100
          }
        }
      },
      "locations_v3_CustomRRulesOptions": {
        "type": "object",
        "properties": {
          "intervalType": {
            "type": "string",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly"
            ],
            "example": "monthly"
          },
          "interval": {
            "type": "number",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "example": "2021-09-30T00:00:00.000Z",
            "description": "Start Date"
          },
          "endDate": {
            "type": "string",
            "example": "2021-09-30T00:00:00.000Z",
            "description": "End Date"
          },
          "dayOfMonth": {
            "type": "number",
            "description": "1, 2, 3, ..., 27, 31",
            "example": 15
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "MO",
              "TU",
              "WE",
              "TH",
              "FR",
              "SA",
              "SU"
            ],
            "example": "MO"
          },
          "monthOfYear": {
            "type": "number",
            "description": "1, 2, ....., 11, 12",
            "example": 1
          },
          "count": {
            "type": "number",
            "description": "Max number of task executions",
            "example": 10
          },
          "createTaskIfOverDue": {
            "type": "boolean",
            "example": true,
            "description": "Create Task If Over Due"
          },
          "dueAfterSeconds": {
            "type": "number",
            "example": 23404000,
            "description": "Due after seconds"
          }
        },
        "required": [
          "intervalType",
          "interval",
          "startDate",
          "dueAfterSeconds"
        ]
      },
      "locations_v3_RecurringTaskResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Recurring Task Id"
          },
          "title": {
            "type": "string",
            "example": "Task Name",
            "description": "Name of the task"
          },
          "description": {
            "type": "string",
            "example": "Task Description",
            "description": "Description of the task"
          },
          "locationId": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Location Id"
          },
          "updatedAt": {
            "type": "string",
            "example": "2021-04-15T10:00:00.000Z",
            "description": "Updated At"
          },
          "createdAt": {
            "type": "string",
            "example": "2021-04-15T10:00:00.000Z",
            "description": "Created At"
          },
          "rruleOptions": {
            "example": {
              "createTaskIfOverDue": false,
              "interval": 1,
              "intervalType": "hourly",
              "startDate": "2024-10-29T12:34:03.000Z",
              "dueAfterSeconds": 600,
              "count": 550
            },
            "description": "Recurring rules",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_CustomRRulesOptions"
              }
            ]
          },
          "totalOccurrence": {
            "type": "number",
            "example": 10,
            "description": "Total Occurrence"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Deleted"
          },
          "assignedTo": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Assigned To"
          },
          "contactId": {
            "type": "string",
            "example": "v5cEPM428h8vShlRW1KT",
            "description": "Contact Id"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "locationId",
          "updatedAt",
          "createdAt",
          "rruleOptions",
          "totalOccurrence",
          "deleted"
        ]
      },
      "locations_v3_RecurringTaskSingleResponseDTO": {
        "type": "object",
        "properties": {
          "recurringTask": {
            "description": "Recurring Tasks",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_RecurringTaskResponseDTO"
              }
            ]
          }
        },
        "required": [
          "recurringTask"
        ]
      },
      "locations_v3_RecurringTaskCreateDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "Task Name",
            "description": "Name of the task"
          },
          "description": {
            "type": "string",
            "example": "Task Description",
            "description": "Description of the task"
          },
          "contactIds": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Contact Id",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "owners": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Assigned To",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rruleOptions": {
            "example": {
              "intervalType": "hourly",
              "interval": 1,
              "startDate": "2025-07-23T10:00:00.000Z",
              "dueAfterSeconds": 600
            },
            "description": "Recurring rules",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_CustomRRulesOptions"
              }
            ]
          },
          "ignoreTaskCreation": {
            "type": "boolean",
            "example": true,
            "description": "Create initial task or not"
          }
        },
        "required": [
          "title",
          "rruleOptions"
        ]
      },
      "locations_v3_RecurringTaskUpdateDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "Task Name",
            "description": "Name of the task"
          },
          "description": {
            "type": "string",
            "example": "Task Description",
            "description": "Description of the task"
          },
          "contactIds": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Contact Id",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "owners": {
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "description": "Assigned To",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rruleOptions": {
            "example": {
              "intervalType": "hourly",
              "interval": 1,
              "startDate": "2025-07-23T10:00:00.000Z",
              "dueAfterSeconds": 600
            },
            "description": "Recurring rules",
            "allOf": [
              {
                "$ref": "#/components/schemas/locations_v3_CustomRRulesOptions"
              }
            ]
          },
          "ignoreTaskCreation": {
            "type": "boolean",
            "example": true,
            "description": "Create initial task or not"
          }
        }
      },
      "locations_v3_DeleteRecurringTaskResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "sx6wyHhbFdRXh302Lunr",
            "description": "Recurring Task Id"
          },
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Success"
          }
        },
        "required": [
          "id",
          "success"
        ]
      },
      "locations_v3_UpdatePermissionsDto": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "description": "Permission plan values to apply for the sub-account",
            "example": [
              "crm",
              "workflow"
            ],
            "items": {
              "type": "string",
              "enum": [
                "2-way-text-messaging",
                "gmb-messaging",
                "web-chat",
                "reputation-management",
                "facebook-messenger",
                "gmb-call-tracking",
                "missed-call-text-back",
                "text-to-pay",
                "calendar",
                "crm",
                "opportunities",
                "email-marketing",
                "form-builder",
                "survey-builder",
                "trigger-links",
                "html-builder",
                "sms-email-templates",
                "funnels",
                "websites",
                "workflow",
                "membership",
                "all-reports",
                "triggers",
                "campaigns",
                "launchpad"
              ]
            }
          }
        },
        "required": [
          "permissions"
        ]
      },
      "locations_v3_PermissionsResponseDto": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "description": "Enabled permission names for the sub-account",
            "example": [
              "crm",
              "workflow"
            ],
            "items": {
              "type": "string",
              "enum": [
                "2-way-text-messaging",
                "gmb-messaging",
                "web-chat",
                "reputation-management",
                "facebook-messenger",
                "gmb-call-tracking",
                "missed-call-text-back",
                "text-to-pay",
                "calendar",
                "crm",
                "opportunities",
                "email-marketing",
                "form-builder",
                "survey-builder",
                "trigger-links",
                "html-builder",
                "sms-email-templates",
                "funnels",
                "websites",
                "workflow",
                "membership",
                "all-reports",
                "triggers",
                "campaigns",
                "launchpad"
              ]
            }
          }
        },
        "required": [
          "permissions"
        ]
      },
      "locations_v3_ConversationProviderSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Provider ID",
            "example": "twilio_provider"
          },
          "name": {
            "type": "string",
            "description": "Provider name",
            "example": "Twilio"
          },
          "type": {
            "type": "string",
            "description": "Provider type",
            "enum": [
              "SMS",
              "Email"
            ],
            "example": "SMS"
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default provider",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "default"
        ]
      },
      "locations_v3_ConversationChannelEntrySchema": {
        "type": "object",
        "properties": {
          "conversationProvider": {
            "$ref": "#/components/schemas/locations_v3_ConversationProviderSchema"
          }
        },
        "required": [
          "conversationProvider"
        ]
      },
      "locations_v3_ConversationChannelSchema": {
        "type": "object",
        "properties": {
          "SMS": {
            "type": "array",
            "description": "List of SMS providers configured for this location",
            "items": {
              "$ref": "#/components/schemas/locations_v3_ConversationChannelEntrySchema"
            }
          },
          "Email": {
            "type": "array",
            "description": "List of Email providers configured for this location",
            "items": {
              "$ref": "#/components/schemas/locations_v3_ConversationChannelEntrySchema"
            }
          }
        }
      },
      "locations_v3_GetConversationChannelListSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "conversationChannel": {
            "$ref": "#/components/schemas/locations_v3_ConversationChannelSchema"
          }
        },
        "required": [
          "conversationChannel"
        ]
      },
      "marketplace_v3_RaiseChargeBodyDTO": {
        "type": "object",
        "properties": {
          "appId": {
            "type": "string",
            "description": "App ID of the App",
            "example": "6578278e879ad2646715ba9c"
          },
          "meterId": {
            "type": "string",
            "description": "Billing Meter ID (you can find this on your app's pricing page)",
            "example": "680b97022b4a34420f5f9b93"
          },
          "eventId": {
            "type": "string",
            "description": "Event ID / Transaction ID on your server's side. This will help you maintain the reference of the event/transaction on your end that you charged the customer for.",
            "example": "evt_abc123"
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "user_abc123"
          },
          "locationId": {
            "type": "string",
            "description": "ID of the Sub-Account to be charged",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "companyId": {
            "type": "string",
            "description": "ID of the Agency the Sub-account belongs to",
            "example": "company_abc123"
          },
          "description": {
            "type": "string",
            "description": "Description of the charge",
            "example": "Charge for sending 10 SMS messages"
          },
          "price": {
            "type": "number",
            "description": "Price per unit to charge",
            "example": 0.01
          },
          "units": {
            "type": "number",
            "description": "Number of units to charge",
            "example": 10
          },
          "eventTime": {
            "type": "string",
            "description": "The timestamp when the event/transaction was performed. If blank, the billing timestamp will be set as the event time. ISO8601 Format.",
            "example": "2025-03-26T00:00:000Z"
          }
        },
        "required": [
          "appId",
          "meterId",
          "eventId",
          "locationId",
          "companyId",
          "description",
          "units"
        ]
      },
      "marketplace_v3_DeleteIntegrationBodyDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "The company id from which the application is to be uninstalled. If you pass agency token, then companyId is required. It will uninstall application from agency as well as all sub-accounts.",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "The location id from which the application is to be uninstalled. If you pass location token, then locationId is required. It will uninstall application from that location only.",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "reason": {
            "type": "string",
            "description": "The reason for uninstalling the application. Reason is required if you are uninstalling the application as a developer.",
            "example": "Application is not working as expected"
          }
        }
      },
      "marketplace_v3_DeleteIntegrationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "The status of the uninstallation of the application",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "marketplace_v3_WhitelabelDetailsDTO": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Domain of the whitelabel company",
            "example": "example.com"
          },
          "logoUrl": {
            "type": "string",
            "description": "Logo URL of the whitelabel company",
            "example": "https://example.com/logo.png"
          }
        },
        "required": [
          "domain",
          "logoUrl"
        ]
      },
      "marketplace_v3_InstallerDetailsDTO": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "company123"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID (if applicable)",
            "example": "location123"
          },
          "companyName": {
            "type": "string",
            "description": "Company name",
            "example": "Example Company"
          },
          "relationshipNumber": {
            "type": "string",
            "description": "Company relationship number",
            "example": "0-002-230"
          },
          "companyEmail": {
            "type": "string",
            "description": "Company email. Will be null for sub-account installations due to PII concerns.",
            "example": "contact@example.com",
            "nullable": true
          },
          "companyOwnerFullName": {
            "type": "string",
            "description": "Company owner full name. Will be null for sub-account installations due to PII concerns.",
            "example": "John Doe",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "User ID who installed the app",
            "example": "user123"
          },
          "isWhitelabelCompany": {
            "type": "boolean",
            "description": "Whether the company is a whitelabel company",
            "example": false
          },
          "companyPlan": {
            "type": "string",
            "description": "Company plan. Will be null for sub-account installations due to business sensitivity.",
            "example": "agency_monthly_497",
            "nullable": true
          },
          "companyCRM GesvisionPlan": {
            "type": "string",
            "description": "Company plan. Will be null for sub-account installations due to business sensitivity.",
            "example": "agency_monthly_497",
            "nullable": true,
            "deprecated": true
          },
          "marketplaceAppPlanId": {
            "type": "string",
            "description": "Marketplace app plan ID for paid apps",
            "example": "plan123"
          },
          "whitelabelDetails": {
            "description": "Whitelabel details (only present if isWhitelabelCompany is true)",
            "example": {
              "domain": "example.com",
              "logoUrl": "https://example.com/logo.png"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/marketplace_v3_WhitelabelDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "companyId",
          "companyName",
          "relationshipNumber",
          "userId",
          "isWhitelabelCompany"
        ]
      },
      "marketplace_v3_GetInstallerDetailsResponseDTO": {
        "type": "object",
        "properties": {
          "installationDetails": {
            "description": "Installation details",
            "example": {
              "companyId": "company123",
              "locationId": "location123",
              "companyName": "Example Company",
              "relationshipNumber": "0-002-230",
              "companyEmail": "contact@example.com",
              "companyOwnerFullName": "John Doe",
              "userId": "user123",
              "isWhitelabelCompany": false,
              "companyPlan": "agency_monthly_497",
              "companyCRM GesvisionPlan": "agency_monthly_497",
              "marketplaceAppPlanId": "plan123"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/marketplace_v3_InstallerDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "installationDetails"
        ]
      },
      "marketplace_v3_SubscriptionPlanDTO": {
        "type": "object",
        "properties": {
          "resellingAmount": {
            "type": "number",
            "description": "The reselling amount",
            "example": 0
          },
          "baseAmount": {
            "type": "number",
            "description": "The base amount",
            "example": 0
          },
          "planId": {
            "type": "string",
            "description": "The plan id",
            "example": "5ae000000000000000000000"
          },
          "features": {
            "description": "The features",
            "example": [
              "feature1",
              "feature2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "paymentType": {
            "type": "string",
            "description": "The payment time",
            "example": "month"
          },
          "name": {
            "type": "string",
            "description": "The plan name",
            "example": "Monthly Plan - 999"
          },
          "paymentTime": {
            "type": "string",
            "description": "The payment time",
            "example": "month"
          }
        },
        "required": [
          "resellingAmount",
          "baseAmount",
          "planId",
          "features",
          "paymentType",
          "name",
          "paymentTime"
        ]
      },
      "marketplace_v3_UsagePlanDTO": {
        "type": "object",
        "properties": {
          "productType": {
            "type": "string",
            "description": "The product type",
            "example": "workflow_action"
          },
          "productName": {
            "type": "string",
            "description": "The product name",
            "example": "Send Group iMessage"
          },
          "usageUnit": {
            "type": "string",
            "description": "The usage unit for the meter",
            "example": "action / message"
          },
          "meterId": {
            "type": "string",
            "description": "The meter id",
            "example": "680b97022b4a34420f5f9b93"
          },
          "meterName": {
            "type": "string",
            "description": "The meter name",
            "example": "Send Group iMessage"
          },
          "fixedPricePerUnit": {
            "type": "number",
            "description": "The fixed price per unit, applicable for fixed price type",
            "example": 0.01001
          },
          "priceType": {
            "type": "string",
            "description": "The price type",
            "example": "fixed",
            "enum": [
              "fixed",
              "dynamic"
            ]
          },
          "minPricePerUnit": {
            "type": "string",
            "description": "The min price per unit, applicable for dynamic price type",
            "example": "0.01001"
          },
          "maxPricePerUnit": {
            "type": "string",
            "description": "The max price per unit, applicable for dynamic price type",
            "example": "0.01001"
          },
          "executionLimitPerCycle": {
            "type": "number",
            "description": "The execution limit per cycle",
            "example": 1000
          }
        },
        "required": [
          "productType",
          "productName",
          "usageUnit",
          "meterId",
          "meterName",
          "fixedPricePerUnit",
          "priceType",
          "minPricePerUnit",
          "maxPricePerUnit",
          "executionLimitPerCycle"
        ]
      },
      "marketplace_v3_PlansDTO": {
        "type": "object",
        "properties": {
          "subscription": {
            "description": "Subscription plans",
            "example": [
              {
                "resellingAmount": 0,
                "baseAmount": 999,
                "planId": "5ae000000000000000000000",
                "features": [
                  "feature1",
                  "feature2"
                ],
                "paymentType": "month",
                "name": "Monthly Plan - 999",
                "paymentTime": "month"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/marketplace_v3_SubscriptionPlanDTO"
            }
          },
          "usage": {
            "description": "Usage-based plans",
            "example": [
              {
                "productType": "workflow_action",
                "productName": "Send Group iMessage",
                "usageUnit": "action / message",
                "meterId": "680b97022b4a34420f5f9b93",
                "meterName": "Send Group iMessage",
                "fixedPricePerUnit": 0.01001,
                "priceType": "fixed",
                "minPricePerUnit": "0.01001",
                "maxPricePerUnit": "0.01001",
                "executionLimitPerCycle": 1000
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/marketplace_v3_UsagePlanDTO"
            }
          }
        },
        "required": [
          "subscription",
          "usage"
        ]
      },
      "marketplace_v3_GetRebillingConfigResponseDTO": {
        "type": "object",
        "properties": {
          "plans": {
            "description": "The rebilling plans configuration",
            "example": {
              "subscription": [
                {
                  "resellingAmount": 0,
                  "baseAmount": 999,
                  "planId": "5ae000000000000000000000",
                  "features": [
                    "feature1",
                    "feature2"
                  ],
                  "paymentType": "month",
                  "name": "Monthly Plan - 999",
                  "paymentTime": "month"
                }
              ],
              "usage": [
                {
                  "productType": "workflow_action",
                  "productName": "Send Group iMessage",
                  "usageUnit": "action / message",
                  "meterId": "680b97022b4a34420f5f9b93",
                  "meterName": "Send Group iMessage",
                  "fixedPricePerUnit": 0.01001,
                  "priceType": "fixed",
                  "minPricePerUnit": "0.01001",
                  "maxPricePerUnit": "0.01001",
                  "executionLimitPerCycle": 1000
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/marketplace_v3_PlansDTO"
              }
            ]
          }
        },
        "required": [
          "plans"
        ]
      },
      "marketplace_v3_MigrateConnectionDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "oauth2",
              "basic"
            ],
            "example": "oauth2",
            "description": "Type of authentication - basic or oauth2"
          },
          "locationId": {
            "type": "string",
            "example": "location_12345",
            "description": "Location ID"
          },
          "appId": {
            "type": "string",
            "example": "507f1f77bcf86cd799439011",
            "description": "App ID"
          },
          "appVersionId": {
            "type": "string",
            "example": "507f1f77bcf86cd799439012",
            "description": "App Version ID"
          },
          "accountId": {
            "type": "string",
            "example": "my-connection-identifier",
            "description": "Connection identifier"
          },
          "apiKey": {
            "type": "string",
            "example": "sk_test_1234567890",
            "description": "API Key (supported when type is basic)"
          },
          "basicCredentials": {
            "type": "object",
            "example": {
              "email": "user@example.com",
              "password": "p@ssw0rd"
            },
            "description": "Basic auth credentials as key/value pairs (supported when type is basic). Keys are validated against the app version externalAuthConfig.fields."
          },
          "accessToken": {
            "type": "string",
            "example": "ya29.a0AfH6SMBx...",
            "description": "Access token (required when type is oauth2)"
          },
          "refreshToken": {
            "type": "string",
            "example": "1//0gHq5F...",
            "description": "Refresh token (required when type is oauth2)"
          },
          "expiryIn": {
            "type": "number",
            "example": 3600000,
            "description": "Access token expiry time in milliseconds (optional for oauth2)"
          },
          "expiryAt": {
            "type": "number",
            "example": 1735689600000,
            "description": "Timestamp for access token expiry (optional for oauth2)"
          },
          "scopes": {
            "example": [
              "contacts.readonly",
              "contacts.write"
            ],
            "description": "OAuth2 scopes (optional for oauth2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "displayName": {
            "type": "string",
            "example": "My Connection Display Name",
            "description": "Display name for the connection (optional, defaults to accountId)"
          },
          "isDefault": {
            "type": "boolean",
            "example": false,
            "description": "Whether this is the default connection for the location (optional, defaults to false)"
          }
        },
        "required": [
          "type",
          "locationId",
          "appId",
          "appVersionId",
          "accountId"
        ]
      },
      "marketplace_v3_MigrateConnectionResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the migration was successful"
          },
          "identifier": {
            "type": "string",
            "example": "migration_12345",
            "description": "Unique identifier for the migrated connection"
          },
          "message": {
            "type": "string",
            "example": "Connection migrated successfully",
            "description": "Message describing the result"
          }
        },
        "required": [
          "success",
          "identifier"
        ]
      },
      "marketplace_v3_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "description": "HTTP status code",
            "example": 500
          },
          "message": {
            "type": "string",
            "description": "Error message describing the internal server error",
            "example": "Internal Server Error"
          }
        }
      },
      "medias_v3_GetFilesResponseDTO": {
        "type": "object",
        "properties": {
          "files": {
            "description": "Array of File Objects",
            "example": {
              "altId": "locationId",
              "altType": "location",
              "name": "file name",
              "parentId": "parent folder id",
              "url": "file url",
              "path": "file path"
            },
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "files"
        ]
      },
      "medias_v3_UploadFileResponseDTO": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "description": "ID of the uploaded file",
            "example": "file.pdf"
          },
          "url": {
            "type": "string",
            "description": "Google Cloud Storage URL of the uploaded file",
            "example": "https://storage.googleapis.com/bucket-name/path/to/file.pdf"
          }
        },
        "required": [
          "fileId",
          "url"
        ]
      },
      "medias_v3_FolderDTO": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location identifier that owns this folder",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the folder",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Name of the folder",
            "example": "New Folder"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder (null for root folders)",
            "example": "64af50c42d567a3b4f5989e0"
          },
          "type": {
            "type": "string",
            "description": "Type of the object (always 'folder' for folders)",
            "example": "folder"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the folder has been deleted",
            "example": false
          },
          "pendingUpload": {
            "type": "boolean",
            "description": "Whether there are pending uploads to this folder",
            "example": false
          },
          "category": {
            "type": "string",
            "description": "Primary category of content stored in the folder",
            "example": "image"
          },
          "subCategory": {
            "type": "string",
            "description": "Sub-category of content stored in the folder",
            "example": "logo"
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether the folder is private and not publicly accessible",
            "example": false
          },
          "relocatedFolder": {
            "type": "boolean",
            "description": "Whether the folder has been moved from its original location",
            "example": false
          },
          "migrationCompleted": {
            "type": "boolean",
            "description": "Whether the data migration process has been completed for this folder",
            "example": true
          },
          "appFolder": {
            "type": "boolean",
            "description": "Whether this is a system-generated application folder",
            "example": false
          },
          "isEssential": {
            "type": "boolean",
            "description": "Whether the folder is essential and should not be deleted",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "Current status of the folder"
          },
          "lastUpdatedBy": {
            "type": "string",
            "description": "ID of the user who last updated the folder",
            "example": "user-uuid-123"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "type"
        ]
      },
      "medias_v3_CreateFolderParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity (location only)",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Name of the folder to be created",
            "example": "New Folder"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder (optional)",
            "example": "64af50c42d567a3b4f5989e0"
          }
        },
        "required": [
          "altId",
          "altType",
          "name"
        ]
      },
      "medias_v3_UpdateObject": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "New name for the file or folder",
            "example": "Updated File Name.pdf"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the file or folder",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "altId": {
            "type": "string",
            "description": "Location identifier that owns the file or folder",
            "example": "sx6wyHhbFdRXh302LLNR"
          }
        },
        "required": [
          "name",
          "altType",
          "altId"
        ]
      },
      "medias_v3_UpdateMediaObjects": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location identifier",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the files",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "filesToBeUpdated": {
            "type": "array",
            "description": "Array of file objects to be updated",
            "items": {
              "$ref": "#/components/schemas/medias_v3_UpdateMediaObject"
            },
            "example": [
              {
                "id": "686f9817f0d3165be9fbcef6",
                "name": "Updated File Name.pdf"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "filesToBeUpdated"
        ]
      },
      "medias_v3_DeleteMediaObjectItem": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique identifier of the file or folder to be deleted",
            "example": "686f630df0d3166d68fbcec2"
          }
        },
        "required": [
          "_id"
        ]
      },
      "medias_v3_UpdateMediaObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the file or folder to be updated",
            "example": "686f9817f0d3165be9fbcef6"
          },
          "name": {
            "type": "string",
            "description": "New name for the file or folder",
            "example": "Updated File Name.pdf"
          }
        },
        "required": [
          "id"
        ]
      },
      "medias_v3_DeleteMediaObjectsBodyParams": {
        "type": "object",
        "properties": {
          "filesToBeDeleted": {
            "type": "array",
            "description": "Array of file objects to be deleted or trashed",
            "items": {
              "$ref": "#/components/schemas/medias_v3_DeleteMediaObjectItem"
            },
            "example": [
              {
                "_id": "686f630df0d3166d68fbcec2"
              }
            ]
          },
          "altType": {
            "type": "string",
            "description": "Type of entity that owns the files",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "altId": {
            "type": "string",
            "description": "Location identifier",
            "example": "sx6wyHhbFdRXh302LLNR"
          },
          "status": {
            "type": "string",
            "description": "Status to set for the files (deleted or trashed)",
            "enum": [
              "deleted",
              "trashed"
            ],
            "example": "deleted"
          }
        },
        "required": [
          "filesToBeDeleted",
          "altType",
          "altId",
          "status"
        ]
      },
      "medias_v3_MoveOrDeleteObjectParams": {
        "type": "object",
        "properties": {
          "altType": {
            "type": "string"
          },
          "altId": {
            "type": "string"
          },
          "_id": {
            "type": "string"
          }
        },
        "required": [
          "altType",
          "altId",
          "_id"
        ]
      },
      "oauth_v3_GetAccessTokenBodyDto": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "description": "The ID provided by CRM for your integration",
            "example": "6578278e879ad2646715ba9c"
          },
          "clientSecret": {
            "type": "string",
            "description": "The client secret provided by CRM for your integration",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh"
          },
          "grantType": {
            "type": "string",
            "description": "The OAuth2 grant type — authorization_code, refresh_token, or client_credentials",
            "enum": [
              "authorization_code",
              "refresh_token",
              "client_credentials"
            ],
            "example": "authorization_code"
          },
          "code": {
            "type": "string",
            "description": "The authorization code received from the authorization endpoint (required for authorization_code grant)",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh"
          },
          "refreshToken": {
            "type": "string",
            "description": "The refresh token used to obtain a new access token (required for refresh_token grant)",
            "example": "xy34dc0ae1234a4858f9ff06d4f66ba"
          },
          "userType": {
            "type": "string",
            "description": "The type of token to be requested",
            "example": "Location",
            "enum": [
              "Company",
              "Location"
            ]
          },
          "redirectUri": {
            "type": "string",
            "description": "The redirect URI for your application",
            "example": "https://myapp.com/oauth/callback/crm"
          }
        },
        "required": [
          "clientId",
          "clientSecret",
          "grantType"
        ]
      },
      "oauth_v3_GetAccessTokenSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh",
            "description": "The OAuth2 access token"
          },
          "tokenType": {
            "type": "string",
            "example": "Bearer",
            "description": "The token type (always Bearer)"
          },
          "expiresIn": {
            "type": "number",
            "example": 86399,
            "description": "Time in seconds until the access token expires"
          },
          "refreshToken": {
            "type": "string",
            "example": "xy34dc0ae1234a4858f9ff06d4f66ba",
            "description": "The OAuth2 refresh token used to obtain a new access token"
          },
          "scope": {
            "type": "string",
            "example": "conversations/message.readonly conversations/message.write",
            "description": "Space-separated list of scopes the access token has access to"
          },
          "userType": {
            "type": "string",
            "example": "Location",
            "description": "The user type associated with the token (Location or Company)"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID - Present only for Sub-Account Access Token",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "approvedLocations": {
            "description": "Approved locations to generate location access token",
            "example": [
              "l1C08ntBrFjLS0elLIYU"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userId": {
            "type": "string",
            "description": "USER ID - Represent user id of person who performed installation",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "planId": {
            "type": "string",
            "description": "Plan Id of the subscribed plan in paid apps.",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "isBulkInstallation": {
            "type": "boolean",
            "description": "Indicates whether the installation was performed as a bulk installation",
            "example": false
          },
          "installToFutureLocations": {
            "type": "boolean",
            "description": "Boolean to control if user wants app to be automatically installed to future locations (only for company tokens)",
            "example": true
          },
          "approveAllLocations": {
            "type": "boolean",
            "description": "Boolean indicating if user approved all locations during bulk installation (only for company tokens)",
            "example": true
          }
        },
        "required": [
          "userId"
        ]
      },
      "oauth_v3_GetLocationAccessCodeBodyDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "Company Id of location you want to request token for",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "locationId": {
            "type": "string",
            "description": "The location ID for which you want to obtain accessToken",
            "example": "l1C08ntBrFjLS0elLIYU"
          }
        },
        "required": [
          "companyId",
          "locationId"
        ]
      },
      "oauth_v3_GetLocationAccessTokenSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh",
            "description": "Location access token which can be used to authenticate & authorize API under following scope"
          },
          "token_type": {
            "type": "string",
            "example": "Bearer",
            "description": "The token type (always Bearer)"
          },
          "expires_in": {
            "type": "number",
            "example": 86399,
            "description": "Time in seconds remaining for token to expire"
          },
          "scope": {
            "type": "string",
            "example": "conversations/message.readonly conversations/message.write",
            "description": "Scopes the following accessToken have access to"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID - Present only for Sub-Account Access Token",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "planId": {
            "type": "string",
            "description": "Plan Id of the subscribed plan in paid apps.",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "userId": {
            "type": "string",
            "description": "USER ID - Represent user id of person who performed installation",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "appId": {
            "type": "string",
            "description": "App ID of the installed application",
            "example": "6578278e879ad2646715ba9c"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID of the installed app version",
            "example": "6578278e879ad2646715ba9c"
          },
          "refresh_token": {
            "type": "string",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30",
            "description": "The OAuth2 refresh token used to obtain a new access token for this specific location"
          }
        },
        "required": [
          "userId"
        ]
      },
      "oauth_v3_GetLocationAccessTokenV3SuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "example": "ab12dc0ae1234a7898f9ff06d4f69gh",
            "description": "Location access token which can be used to authenticate & authorize API under following scope"
          },
          "tokenType": {
            "type": "string",
            "example": "Bearer",
            "description": "The token type (always Bearer)"
          },
          "expiresIn": {
            "type": "number",
            "example": 86399,
            "description": "Time in seconds remaining for token to expire"
          },
          "scope": {
            "type": "string",
            "example": "conversations/message.readonly conversations/message.write",
            "description": "Scopes the following accessToken have access to"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID - Present only for Sub-Account Access Token",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "planId": {
            "type": "string",
            "description": "Plan Id of the subscribed plan in paid apps.",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "userId": {
            "type": "string",
            "description": "USER ID - Represent user id of person who performed installation",
            "example": "l1C08ntBrFjLS0elLIYU"
          },
          "appId": {
            "type": "string",
            "description": "App ID of the installed application",
            "example": "6578278e879ad2646715ba9c"
          },
          "versionId": {
            "type": "string",
            "description": "Version ID of the installed app version",
            "example": "6578278e879ad2646715ba9c"
          },
          "refreshToken": {
            "type": "string",
            "description": "The OAuth2 refresh token used to obtain a new access token for this specific location.",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30"
          }
        },
        "required": [
          "userId"
        ]
      },
      "oauth_v3_InstalledLocationSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "0IHuJvc2ofPAAA8GzTRi",
            "description": "Location ID"
          },
          "name": {
            "type": "string",
            "example": "John Deo",
            "description": "Name of the location"
          },
          "address": {
            "type": "string",
            "example": "47 W 13th St, New York, NY 10011, USA",
            "description": "Address linked to location"
          },
          "isInstalled": {
            "type": "boolean",
            "example": true,
            "description": "Check if the requested app is installed for following location"
          },
          "versionId": {
            "type": "string",
            "example": "6578278e879ad2646715ba9c",
            "description": "Version ID of the installed app version for this location"
          },
          "installedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2024-01-15T10:30:00.000Z",
            "description": "Timestamp when the app was installed on this location"
          }
        },
        "required": [
          "_id",
          "name",
          "address"
        ]
      },
      "oauth_v3_GetInstalledLocationsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "locations": {
            "description": "List of locations with their installation status for the requested app",
            "example": [
              {
                "_id": "0IHuJvc2ofPAAA8GzTRi",
                "name": "John Deo",
                "address": "47 W 13th St, New York, NY 10011, USA",
                "isInstalled": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/oauth_v3_InstalledLocationSchema"
            }
          },
          "count": {
            "type": "number",
            "example": 1231,
            "description": "Total location count under the company"
          },
          "installToFutureLocations": {
            "type": "boolean",
            "description": "Boolean to control if user wants app to be automatically installed to future locations",
            "example": true
          }
        }
      },
      "oauth_v3_V3PaginationMetaDto": {
        "type": "object",
        "properties": {
          "totalRecords": {
            "type": "number",
            "example": 1231,
            "description": "Total number of records matching the query across all pages"
          },
          "hasNextPage": {
            "type": "boolean",
            "example": true,
            "description": "True when a next page is available"
          },
          "hasPrevPage": {
            "type": "boolean",
            "example": false,
            "description": "True when a previous page is available"
          },
          "nextPageToken": {
            "type": "string",
            "example": "eyJvZmZzZXQiOjIwfQ",
            "description": "Opaque token to fetch the next page"
          },
          "prevPageToken": {
            "type": "string",
            "example": "eyJvZmZzZXQiOjB9",
            "description": "Opaque token to fetch the previous page"
          },
          "currentPageSize": {
            "type": "number",
            "example": 20,
            "description": "Number of items returned in the current page"
          },
          "estimatedTotalRecords": {
            "type": "number",
            "example": 1231,
            "description": "Estimated total records; present when exact total is unknown"
          }
        },
        "required": [
          "hasNextPage",
          "hasPrevPage",
          "currentPageSize"
        ]
      },
      "oauth_v3_V3InstalledLocationsListMetadataDto": {
        "type": "object",
        "properties": {
          "filterApplied": {
            "type": "object",
            "additionalProperties": true,
            "example": {
              "companyId": "tDtDnQdgm2LXpyiqYvZ6",
              "isInstalled": true
            },
            "description": "Filters that were applied to the query"
          },
          "sortApplied": {
            "type": "object",
            "additionalProperties": true,
            "example": {
              "installedAt": "desc"
            },
            "description": "Sort order that was applied to the query"
          }
        }
      },
      "oauth_v3_GetInstalledLocationsV3SuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "description": "List of locations with their installation status for the requested app",
            "example": [
              {
                "_id": "0IHuJvc2ofPAAA8GzTRi",
                "name": "John Deo",
                "address": "47 W 13th St, New York, NY 10011, USA",
                "isInstalled": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/oauth_v3_InstalledLocationSchema"
            }
          },
          "pagination": {
            "description": "Pagination metadata (AIP-158)",
            "allOf": [
              {
                "$ref": "#/components/schemas/oauth_v3_V3PaginationMetaDto"
              }
            ]
          },
          "metadata": {
            "description": "Query metadata (filters and sort applied)",
            "allOf": [
              {
                "$ref": "#/components/schemas/oauth_v3_V3InstalledLocationsListMetadataDto"
              }
            ]
          },
          "installToFutureLocations": {
            "type": "boolean",
            "description": "Boolean to control if user wants app to be automatically installed to future locations",
            "example": true
          }
        },
        "required": [
          "items",
          "pagination"
        ]
      },
      "oauth_v3_AipErrorBodyDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "RESOURCE_NOT_FOUND",
            "description": "Machine-readable error code (see AipErrorCode enum in @platform-core/aip-framework)"
          },
          "message": {
            "type": "string",
            "example": "The requested App 'abc' was not found.",
            "description": "Human-readable error message"
          },
          "details": {
            "type": "object",
            "additionalProperties": true,
            "example": {
              "resource": "App",
              "identifier": "abc"
            },
            "description": "Additional error context (field name, identifier, etc.)"
          },
          "resolution": {
            "type": "string",
            "example": "Verify the App exists and you have permission to access it.",
            "description": "Suggested resolution for the caller"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "oauth_v3_AipErrorResponseDto": {
        "type": "object",
        "properties": {
          "error": {
            "description": "AIP-compliant error envelope",
            "allOf": [
              {
                "$ref": "#/components/schemas/oauth_v3_AipErrorBodyDto"
              }
            ]
          }
        },
        "required": [
          "error"
        ]
      },
      "objects_v3_CustomObjectLabelDto": {
        "type": "object",
        "properties": {
          "singular": {
            "type": "string",
            "example": "Pet",
            "description": "Singular name of the custom object"
          },
          "plural": {
            "type": "string",
            "example": "Pets",
            "description": "Plural name of the custom object"
          }
        },
        "required": [
          "singular",
          "plural"
        ]
      },
      "objects_v3_ICustomObjectSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "661c06b4ffde146bdb469442",
            "description": "id of the custom / standard object schema"
          },
          "standard": {
            "type": "boolean",
            "example": false,
            "description": "false in case of custom objects and true in case of standard objects like contacts and opportunities "
          },
          "key": {
            "type": "string",
            "example": "custom_objects.pet",
            "description": "key that would be used to refer the custom / standard Object internally (lowercase + underscore_separated). For custom objects, 'custom_objects.' would be added as prefix by default"
          },
          "labels": {
            "example": {
              "singular": "Pet",
              "plural": "Pets"
            },
            "description": "This is what your custom / standard  object will be called. These labels will be used to display your custom object on the UI",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_v3_CustomObjectLabelDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "example": "These are non vaccinated pets",
            "description": "Custom / Standard  Object Descriptions for example , Pet Object`s description"
          },
          "locationId": {
            "type": "string",
            "description": "location's id",
            "example": "Q9DT3OAqEXDLYuob1G32"
          },
          "primaryDisplayProperty": {
            "type": "string",
            "description": "Primary property for the custom / standard  Object. This would be used as primary data when rendering the UI. 'custom_objects.{{object_key}} or business.{{object_key}} (for company)' would be added as prefix by default for all the custom / standard objects",
            "example": "custom_objects.pet.name"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          },
          "type": {
            "type": "object",
            "example": "The Object type can either USER_DEFINED or SYSTEM_DEFINED",
            "description": "Object`s Type"
          }
        },
        "required": [
          "id",
          "standard",
          "key",
          "labels",
          "locationId",
          "primaryDisplayProperty",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "objects_v3_OptionDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key of the option (Included in Create and Response, excluded in Update)"
          },
          "label": {
            "type": "string",
            "description": "Value of the option"
          },
          "url": {
            "type": "string",
            "description": "URL associated with the option (Optional, valid only for RADIO type)"
          }
        },
        "required": [
          "key",
          "label"
        ]
      },
      "objects_v3_ICustomField": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "Name"
          },
          "description": {
            "type": "string",
            "description": "Description of the field"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for the field"
          },
          "showInForms": {
            "type": "boolean",
            "description": "Whether the field should be shown in forms"
          },
          "options": {
            "description": "Options for the field (Optional, valid only for SINGLE_OPTIONS, MULTIPLE_OPTIONS, RADIO, CHECKBOX, TEXTBOX_LIST type)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_v3_OptionDTO"
            }
          },
          "acceptedFormats": {
            "type": "string",
            "enum": [
              ".pdf",
              ".docx",
              ".doc",
              ".jpg",
              ".jpeg",
              ".png",
              ".gif",
              ".csv",
              ".xlsx",
              ".xls",
              "all"
            ],
            "description": "Allowed file formats for uploads. Options include: .pdf, .docx, .doc, .jpg, .jpeg, .png, .gif, .csv, .xlsx, .xls, all"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the object"
          },
          "objectKey": {
            "type": "string",
            "description": "The key for your custom / standard object. This key uniquely identifies the custom object. Example: \"custom_object.pet\" for a custom object related to pets.",
            "example": "custom_object.pet"
          },
          "dataType": {
            "type": "string",
            "enum": [
              "TEXT",
              "LARGE_TEXT",
              "NUMERICAL",
              "PHONE",
              "MONETORY",
              "CHECKBOX",
              "SINGLE_OPTIONS",
              "MULTIPLE_OPTIONS",
              "DATE",
              "TEXTBOX_LIST",
              "FILE_UPLOAD",
              "RADIO"
            ],
            "description": "Type of field that you are trying to create"
          },
          "parentId": {
            "type": "string",
            "description": "ID of the parent folder",
            "example": "3v34PM428h8vShlRW1KT"
          },
          "fieldKey": {
            "type": "string",
            "description": "Field key. For Custom Object it's formatted as \"custom_object.{objectKey}.{fieldKey}\". \"custom_object\" is a fixed prefix, \"{objectKey}\" is your custom object's identifier, and \"{fieldName}\" is the unique field name within that object. Example: \"custom_object.pet.name\" for a \"name\" field in a \"pet\" custom object.",
            "example": "custom_object.pet.name"
          },
          "allowCustomOption": {
            "type": "boolean",
            "description": "Determines if users can add a custom option value different from the predefined options in records for RADIO type fields. A custom value added in one record does not automatically become an option and will not appear as an option for other records.",
            "example": true
          },
          "maxFileLimit": {
            "type": "number",
            "description": "Maximum file limit for uploads",
            "example": 2
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          }
        },
        "required": [
          "locationId",
          "showInForms",
          "id",
          "objectKey",
          "dataType",
          "parentId",
          "fieldKey",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "objects_v3_CustomObjectByIdResponseDTO": {
        "type": "object",
        "properties": {
          "object": {
            "$ref": "#/components/schemas/objects_v3_ICustomObjectSchema"
          },
          "cache": {
            "type": "boolean",
            "description": "Is the response served from cache",
            "example": true
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_v3_ICustomField"
            }
          }
        },
        "required": [
          "cache"
        ]
      },
      "objects_v3_CustomObjectListResponseDTO": {
        "type": "object",
        "properties": {
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_v3_ICustomObjectSchema"
            }
          }
        }
      },
      "objects_v3_CustomObjectDisplayPropertyDetails": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "example": "custom_objects.pet.name",
            "description": "key that would be used to refer the custom field internally (lowercase + underscore_separated). 'custom_objects.{{objectKey}}' would be added as prefix by default is not passed"
          },
          "name": {
            "type": "string",
            "example": "Pet name",
            "description": "Name of the Primary property name which will be displayed on the record page"
          },
          "dataType": {
            "type": "string",
            "example": "TEXT",
            "description": "Primary property data Type (it can either be TEXT or NUMERICAL type)"
          }
        },
        "required": [
          "key",
          "name",
          "dataType"
        ]
      },
      "objects_v3_CreateCustomObjectSchemaDTO": {
        "type": "object",
        "properties": {
          "labels": {
            "example": {
              "singular": "Pet",
              "plural": "Pets"
            },
            "description": "This is what your custom object will be called. These labels will be used to display your custom object on the UI",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_v3_CustomObjectLabelDto"
              }
            ]
          },
          "key": {
            "type": "string",
            "example": "custom_objects.pet",
            "description": "key that would be used to refer the Custom Object internally (lowercase + underscore_separated). 'custom_objects.' would be added as prefix by default"
          },
          "description": {
            "type": "string",
            "example": "These are non vaccinated pets",
            "description": "Pet Object`s description"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "primaryDisplayPropertyDetails": {
            "description": "Primary property which will be displayed on the record page",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_v3_CustomObjectDisplayPropertyDetails"
              }
            ]
          }
        },
        "required": [
          "labels",
          "key",
          "locationId",
          "primaryDisplayPropertyDetails"
        ]
      },
      "objects_v3_CustomObjectResponseDTO": {
        "type": "object",
        "properties": {
          "object": {
            "$ref": "#/components/schemas/objects_v3_ICustomObjectSchema"
          }
        }
      },
      "objects_v3_CustomObjectLabelUpdateDto": {
        "type": "object",
        "properties": {
          "singular": {
            "type": "string",
            "example": "Car",
            "description": "Singular name of the custom object"
          },
          "plural": {
            "type": "string",
            "example": "Cars",
            "description": "Plural name of the custom object"
          }
        }
      },
      "objects_v3_UpdateCustomObjectSchemaDTO": {
        "type": "object",
        "properties": {
          "labels": {
            "example": {
              "singular": "Pet",
              "plural": "Pets"
            },
            "description": "This is how your custom object will  be  displayed",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_v3_CustomObjectLabelUpdateDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "example": "These are non vaccinated pets",
            "description": "Pet Object`s description",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "description": "location id",
            "example": "632c34b4c9b7da3358ac9891"
          },
          "searchableProperties": {
            "description": "Searchable Fields: Provide the field key of your object that you want to search on, using the format (custom_object.<object_name>.<field_key>).",
            "example": [
              "custom_objects.mad.mad",
              "custom_objects.mad.record_1",
              "custom_objects.mad.nn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "searchableProperties"
        ]
      },
      "objects_v3_IRecordSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "661c06b4ffde146bdb469442",
            "description": "id of the record"
          },
          "owner": {
            "description": "Owner (User's id). Limited to 1 for now. Only Supported with custom objects",
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followers": {
            "description": "Follower (User's ids). Limited to 10 for now",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "v5cEPM428h8vShlRW1KT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "string",
            "example": {
              "customer_number": 1424,
              "ticket_name": "Customer not able login",
              "phone_number": "+917000000000",
              "money": {
                "currency": "default",
                "value": 100
              },
              "type_of_ticket": "doubt",
              "section_of_app": [
                "contacts",
                "smartlist"
              ],
              "recieved_on": "2024-07-11",
              "my_files": [
                {
                  "url": "---url_of_file---"
                }
              ],
              "my_textbox_list.option_a": "Value 1",
              "my_textbox_list.option_b": "Value 2"
            },
            "description": "Properties of the record"
          },
          "dateAdded": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "owner",
          "followers",
          "properties",
          "dateAdded",
          "dateUpdated"
        ]
      },
      "objects_v3_RecordByIdResponseDTO": {
        "type": "object",
        "properties": {
          "record": {
            "$ref": "#/components/schemas/objects_v3_IRecordSchema"
          }
        }
      },
      "objects_v3_CreateCustomObjectRecordDto": {
        "type": "object",
        "properties": {}
      },
      "objects_v3_UpdateCustomObjectRecordDto": {
        "type": "object",
        "properties": {}
      },
      "objects_v3_ObjectRecordDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of the deleted object",
            "example": "661c06b4ffde146bdb469442"
          },
          "success": {
            "type": "boolean",
            "description": "boolean that defines if the operation was a success or not",
            "example": true
          }
        }
      },
      "objects_v3_SearchRecordsBody": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "page": {
            "type": "number",
            "description": "Page",
            "example": 1
          },
          "pageLimit": {
            "type": "number",
            "description": "Page Limit",
            "example": 10
          },
          "query": {
            "type": "string",
            "example": "Buddy",
            "description": "Pass this query parameter to search using your searchable properties. For example, if you have a custom object called “Pets” and have configured “name” as a searchable property, you can pass name:Buddy to search for pets with the name “Buddy.”"
          },
          "searchAfter": {
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "page",
          "pageLimit",
          "query",
          "searchAfter"
        ]
      },
      "objects_v3_CreatedByResponseDTO": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "description": "Creation Channel",
            "example": "WEB_USER"
          },
          "createdAt": {
            "type": "string",
            "description": "Created At",
            "example": "2025-01-02T09:35:39.032Z"
          },
          "source": {
            "type": "string",
            "description": "From where the record was created",
            "example": "PUBLIC_API"
          },
          "sourceId": {
            "type": "string",
            "description": "User/Resource Id",
            "example": "26653146-ec82-435d-8a99-84ecdb7fde13"
          }
        },
        "required": [
          "channel",
          "createdAt",
          "source",
          "sourceId"
        ]
      },
      "objects_v3_RecordResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "661c06b4ffde146bdb469442",
            "description": "id of the record"
          },
          "owner": {
            "description": "Owner (User's id). Limited to 1 for now . Only supported for custom objects for now",
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followers": {
            "description": "Follower (User's ids). Limited to 10 and supported for custom objects for now",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "v5cEPM428h8vShlRW1KT"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "string",
            "example": {
              "customer_number": 1424,
              "ticket_name": "Customer not able login",
              "phone_number": "+917000000000",
              "money": {
                "currency": "default",
                "value": 100
              },
              "type_of_ticket": "doubt",
              "section_of_app": [
                "contacts",
                "smartlist"
              ],
              "recieved_on": "2024-07-11",
              "my_files": [
                {
                  "url": "---url_of_file---"
                }
              ],
              "my_textbox_list.option_a": "Value 1",
              "my_textbox_list.option_b": "Value 2"
            },
            "description": "Properties of the record"
          },
          "createdAt": {
            "type": "string",
            "description": "Date and time when the object was added",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "Date and time when the object was last updated",
            "format": "date-time"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "objectId": {
            "type": "string",
            "description": "ObjectId Id",
            "example": "6d6f6e676f5f6576656e7473"
          },
          "objectKey": {
            "type": "string",
            "description": "ObjectId key",
            "example": "custom_objects.pet"
          },
          "createdBy": {
            "description": "Created By Meta",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_v3_CreatedByResponseDTO"
              }
            ]
          },
          "lastUpdatedBy": {
            "description": "Last Updated By Meta",
            "allOf": [
              {
                "$ref": "#/components/schemas/objects_v3_CreatedByResponseDTO"
              }
            ]
          },
          "searchAfter": {
            "example": [
              1738683828372,
              "67a235b49b289431bcf657f8"
            ],
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "id",
          "owner",
          "followers",
          "properties",
          "createdAt",
          "updatedAt",
          "locationId",
          "objectId",
          "objectKey",
          "createdBy",
          "lastUpdatedBy",
          "searchAfter"
        ]
      },
      "objects_v3_SearchRecordResponseDTO": {
        "type": "object",
        "properties": {
          "records": {
            "description": "Records",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/objects_v3_RecordResponseDTO"
            }
          },
          "total": {
            "type": "number",
            "description": "Total Number of records",
            "example": 20
          }
        },
        "required": [
          "total"
        ]
      },
      "opportunities_v3_LostReasonResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "lost reason id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "lost reason name",
            "example": "lost reason"
          },
          "locationId": {
            "type": "string",
            "description": "location id",
            "example": "location_id"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated at",
            "example": "2023-06-19T12:04:22.488Z"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created at",
            "example": "2023-06-19T12:04:22.488Z"
          }
        }
      },
      "opportunities_v3_LostReasonsResponseSchema": {
        "type": "object",
        "properties": {
          "lostReasons": {
            "description": "List of lost reasons for the location",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_v3_LostReasonResponseSchema"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of lost reasons matching the query",
            "example": 100
          }
        }
      },
      "opportunities_v3_SearchOpportunitiesContactResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the contact",
            "example": "byMEV0NQinDhq8ZfiOi2"
          },
          "name": {
            "type": "string",
            "description": "Full name of the contact",
            "example": "John Deo"
          },
          "companyName": {
            "type": "string",
            "description": "Company name associated with the contact",
            "example": "Tesla Inc"
          },
          "email": {
            "type": "string",
            "description": "Email address of the contact",
            "example": "john@deo.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the contact",
            "example": "+1202-555-0107"
          },
          "tags": {
            "description": "Tags associated with the contact",
            "example": [
              "lead",
              "vip"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "opportunities_v3_CustomFieldResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the custom field",
            "example": "MgobCB14YMVKuE4Ka8p1"
          },
          "fieldValue": {
            "description": "The value of the custom field",
            "example": "custom field value",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            ]
          }
        },
        "required": [
          "id",
          "fieldValue"
        ]
      },
      "opportunities_v3_SearchOpportunitiesResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the opportunity",
            "example": "yWQobCRIhRguQtD2llvk"
          },
          "name": {
            "type": "string",
            "description": "Name of the opportunity",
            "example": "testing"
          },
          "monetaryValue": {
            "type": "number",
            "description": "Monetary value of the opportunity",
            "example": 500
          },
          "pipelineId": {
            "type": "string",
            "description": "Identifier of the pipeline the opportunity belongs to",
            "example": "VDm7RPYC2GLUvdpKmBfC"
          },
          "pipelineStageId": {
            "type": "string",
            "description": "Identifier of the pipeline stage the opportunity is in",
            "example": "e93ba61a-53b3-45e7-985a-c7732dbcdb69"
          },
          "assignedTo": {
            "type": "string",
            "description": "Identifier of the user the opportunity is assigned to",
            "example": "zT46WSCPbudrq4zhWMk6"
          },
          "status": {
            "type": "string",
            "description": "Current status of the opportunity",
            "example": "open"
          },
          "source": {
            "type": "string",
            "description": "Source of the opportunity",
            "example": ""
          },
          "lastStatusChangeAt": {
            "type": "string",
            "description": "ISO 8601 timestamp of the last status change",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "lastStageChangeAt": {
            "type": "string",
            "description": "ISO 8601 timestamp of the last stage change",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "lastActionDate": {
            "type": "string",
            "description": "ISO 8601 timestamp of the last action on the opportunity",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "indexVersion": {
            "type": "string",
            "description": "Index version of the opportunity record",
            "example": 1
          },
          "createdAt": {
            "type": "string",
            "description": "ISO 8601 timestamp when the opportunity was created",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp when the opportunity was last updated",
            "example": "2021-08-03T04:55:17.355Z"
          },
          "forecastExpectedCloseDate": {
            "type": "string",
            "description": "Expected close date for the forecast (YYYY-MM-DD)",
            "example": "2026-05-20"
          },
          "forecastOriginalCloseDate": {
            "type": "string",
            "description": "Original forecast close date before any slippage (YYYY-MM-DD)",
            "example": "2026-05-01"
          },
          "forecastSlippageCount": {
            "type": "number",
            "description": "Number of times the close date has slipped",
            "example": 2
          },
          "forecastDaysSlipped": {
            "type": "number",
            "description": "Total days the close date has slipped",
            "example": 19
          },
          "forecastLastSlippedAt": {
            "type": "string",
            "description": "ISO 8601 timestamp of the last close-date slip",
            "example": "2026-05-22T10:30:00.000Z"
          },
          "forecastProbability": {
            "type": "number",
            "description": "Forecast win probability percentage (0–100)",
            "example": 20
          },
          "effectiveProbability": {
            "type": "number",
            "description": "Effective win probability after stage and forecast adjustments (0–100)",
            "example": 40
          },
          "contactId": {
            "type": "string",
            "description": "Identifier of the contact linked to the opportunity",
            "example": "zT46WSCPbudrq4zhWMk6"
          },
          "locationId": {
            "type": "string",
            "description": "Identifier of the location (sub-account) the opportunity belongs to",
            "example": "zT46WSCPbudrq4zhW"
          },
          "contact": {
            "description": "Contact details associated with the opportunity",
            "example": {},
            "allOf": [
              {
                "$ref": "#/components/schemas/opportunities_v3_SearchOpportunitiesContactResponseSchema"
              }
            ]
          },
          "notes": {
            "description": "Notes attached to the opportunity",
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "tasks": {
            "description": "Tasks attached to the opportunity",
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "calendarEvents": {
            "description": "Calendar events attached to the opportunity",
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "lostReasonId": {
            "type": "string",
            "description": "Identifier of the lost reason if the opportunity was marked lost",
            "example": "zT46WSCPbudrq4zhWMk6"
          },
          "customFields": {
            "description": "Custom fields associated with the opportunity",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_v3_CustomFieldResponseSchema"
            }
          },
          "followers": {
            "description": "User IDs following this opportunity",
            "example": [
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "externalObjectId": {
            "type": "string",
            "description": "External object identifier for integrations",
            "example": "ext_obj_12345"
          }
        }
      },
      "opportunities_v3_SearchMetaResponseSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of opportunities matching the query",
            "example": 1
          },
          "nextPageUrl": {
            "type": "string",
            "description": "URL to retrieve the next page of results",
            "example": "http://localhost:5066/opportunities/search?q=&location_id=ve9EPM428h8vShlRW1KT&pipeline_id=&pipeline_stage_id=&status=&assigned_to+=&campaignId=&id=&order=&endDate=&startAfter=1625203104328&startAfterId=yWQobCRIhRguQtD2llvk&date=&limit=1&country=&page=1"
          },
          "startAfterId": {
            "type": "string",
            "description": "Cursor id to use for pagination (startAfterId param)",
            "example": "yWQobCRIhRguQtD2llvk"
          },
          "startAfter": {
            "type": "number",
            "description": "Cursor timestamp to use for pagination (startAfter param)",
            "example": 1625203104328
          },
          "currentPage": {
            "type": "number",
            "description": "Current page number",
            "example": 2
          },
          "nextPage": {
            "type": "number",
            "description": "Next page number",
            "example": 3
          },
          "prevPage": {
            "type": "number",
            "description": "Previous page number",
            "example": 1
          }
        }
      },
      "opportunities_v3_SearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunities": {
            "description": "List of opportunities matching the search criteria",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_v3_SearchOpportunitiesResponseSchema"
            }
          },
          "meta": {
            "description": "Pagination metadata for the result set",
            "example": {},
            "allOf": [
              {
                "$ref": "#/components/schemas/opportunities_v3_SearchMetaResponseSchema"
              }
            ]
          },
          "aggregations": {
            "type": "object",
            "description": "Aggregation results keyed by aggregation name",
            "example": {}
          }
        }
      },
      "opportunities_v3_AdditionalDetailsDTO": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "boolean",
            "description": "Include notes in the response",
            "example": false
          },
          "tasks": {
            "type": "boolean",
            "description": "Include tasks in the response",
            "example": false
          },
          "calendarEvents": {
            "type": "boolean",
            "description": "Include calendar events in the response",
            "example": false
          },
          "unReadConversations": {
            "type": "boolean",
            "description": "Include unread conversations count in the response",
            "example": false
          }
        },
        "required": [
          "notes",
          "tasks",
          "calendarEvents",
          "unReadConversations"
        ]
      },
      "opportunities_v3_OpportunitySearchBodyDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "i2SpAtBVHSVea1sL6oah"
          },
          "query": {
            "type": "string",
            "description": "Full-text search query string (max 75 characters)",
            "example": "john@deo.com"
          },
          "limit": {
            "type": "number",
            "description": "Maximum number of results to return per page",
            "example": 20
          },
          "page": {
            "type": "number",
            "description": "Page number (0-indexed)",
            "example": 0
          },
          "searchAfter": {
            "description": "Search-after cursor values for deep pagination",
            "example": [
              1625203104328,
              "yWQobCRIhRguQtD2llvk"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "additionalDetails": {
            "description": "Flags to include additional related entities in the response",
            "example": {
              "notes": false,
              "tasks": false,
              "calendarEvents": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/opportunities_v3_AdditionalDetailsDTO"
              }
            ]
          }
        },
        "required": [
          "locationId",
          "query",
          "limit",
          "page",
          "searchAfter",
          "additionalDetails"
        ]
      },
      "opportunities_v3_StageAggregationResponseDto": {
        "type": "object",
        "properties": {
          "pipelineStageId": {
            "type": "string",
            "description": "Identifier of the pipeline stage being aggregated",
            "example": "e93ba61a-53b3-45e7-985a-c7732dbcdb69"
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of opportunities in this stage",
            "example": 12
          },
          "totalValue": {
            "type": "number",
            "description": "Total monetary value of all opportunities in this stage",
            "example": 24500
          },
          "weightedValue": {
            "type": "number",
            "description": "Probability-weighted total value of opportunities in this stage",
            "example": 14700
          },
          "openValue": {
            "type": "number",
            "description": "Total value of open opportunities in this stage",
            "example": 18000
          },
          "openWeightedValue": {
            "type": "number",
            "description": "Probability-weighted value of open opportunities in this stage",
            "example": 10800
          },
          "wonValue": {
            "type": "number",
            "description": "Total value of won opportunities in this stage",
            "example": 6500
          }
        },
        "required": [
          "pipelineStageId",
          "totalCount",
          "totalValue",
          "weightedValue",
          "openValue",
          "openWeightedValue",
          "wonValue"
        ]
      },
      "opportunities_v3_PostSearchSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunities": {
            "description": "List of opportunities matching the search criteria",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_v3_SearchOpportunitiesResponseSchema"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of opportunities matching the query",
            "example": 100
          },
          "stageAggregations": {
            "description": "Per-stage totals when pipeline filter is present",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_v3_StageAggregationResponseDto"
            }
          },
          "aggregations": {
            "type": "object",
            "description": "Aggregation results keyed by aggregation name",
            "example": {}
          }
        },
        "required": [
          "total"
        ]
      },
      "opportunities_v3_PipelinesResponseSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the pipeline",
            "example": "aWdODOBVOlH1RUFKWQke"
          },
          "name": {
            "type": "string",
            "description": "Name of the pipeline",
            "example": "new pipeline"
          },
          "stages": {
            "description": "Stages belonging to this pipeline",
            "example": [],
            "type": "array",
            "items": {
              "type": "array"
            }
          },
          "showInFunnel": {
            "type": "boolean",
            "description": "Whether the pipeline is shown in the funnel view",
            "example": false
          },
          "showInPieChart": {
            "type": "boolean",
            "description": "Whether the pipeline is shown in the pie chart view",
            "example": true
          },
          "locationId": {
            "type": "string",
            "description": "Identifier of the location (sub-account) this pipeline belongs to",
            "example": "dsjddjkndadqaja"
          },
          "useOpportunityProbability": {
            "type": "boolean",
            "description": "Whether stage-level win probability is enabled for this pipeline",
            "example": true
          },
          "colorRenderMode": {
            "type": "string",
            "enum": [
              "dot",
              "bg-tint",
              "none"
            ],
            "description": "How pipeline/stage colors are rendered",
            "example": "dot"
          }
        }
      },
      "opportunities_v3_GetPipelinesSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "pipelines": {
            "description": "List of pipelines for the location",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/opportunities_v3_PipelinesResponseSchema"
            }
          }
        }
      },
      "opportunities_v3_GetPostOpportunitySuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunity": {
            "description": "The created or retrieved opportunity object",
            "example": {},
            "allOf": [
              {
                "$ref": "#/components/schemas/opportunities_v3_SearchOpportunitiesResponseSchema"
              }
            ]
          }
        }
      },
      "opportunities_v3_DeleteUpdateOpportunitySuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "succeded": {
            "type": "boolean",
            "deprecated": true,
            "description": "Indicates whether the operation was successful. Deprecated — use `success` instead.",
            "example": true
          },
          "success": {
            "type": "boolean",
            "description": "Indicates whether the operation was successful",
            "example": true
          }
        }
      },
      "opportunities_v3_UpdateStatusDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "New status for the opportunity",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ],
            "example": "open"
          },
          "lostReasonId": {
            "type": "string",
            "description": "lost reason Id",
            "example": "CLu7BaljjqrEjBGKTNNe"
          }
        },
        "required": [
          "status"
        ]
      },
      "opportunities_v3_customFieldsInputStringSchemaV3": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "6dvNaf7VhkQ9snc5vnjJ",
            "description": "Pass either `id` or `key` of custom field"
          },
          "key": {
            "type": "string",
            "example": "my_custom_field",
            "description": "Pass either `id` or `key` of custom field"
          },
          "fieldValue": {
            "type": "string",
            "description": "Value of the custom field",
            "example": "9039160788"
          }
        }
      },
      "opportunities_v3_customFieldsInputArraySchemaV3": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "description": "Value of the custom field",
            "example": [
              "test",
              "test2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "opportunities_v3_customFieldsInputObjectSchemaV3": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "6dvNaf7VhkQ9snc5vnjJ"
          },
          "key": {
            "type": "string",
            "description": "Pass either `id` or `key` of custom field",
            "example": "my_custom_field"
          },
          "fieldValue": {
            "type": "object",
            "description": "Value of the custom field",
            "example": {
              "url": "https://example.com/file.pdf",
              "size": 1024
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "opportunities_v3_CreateDtoV3": {
        "type": "object",
        "properties": {
          "pipelineId": {
            "type": "string",
            "description": "pipeline Id",
            "example": "VDm7RPYC2GLUvdpKmBfC"
          },
          "locationId": {
            "type": "string",
            "description": "Identifier of the location (sub-account)",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "name": {
            "type": "string",
            "description": "Name of the opportunity",
            "example": "First Opps"
          },
          "pipelineStageId": {
            "type": "string",
            "description": "Identifier of the pipeline stage",
            "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10"
          },
          "status": {
            "type": "string",
            "description": "Current status of the opportunity",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ],
            "example": "open"
          },
          "contactId": {
            "type": "string",
            "description": "Identifier of the contact linked to the opportunity",
            "example": "mTkSCb1UBjb5tk4OvB69"
          },
          "monetaryValue": {
            "type": "number",
            "description": "Monetary value of the opportunity",
            "example": 220
          },
          "forecastExpectedCloseDate": {
            "type": "string",
            "description": "Expected close date. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, or ISO 8601",
            "example": "2026-04-23"
          },
          "forecastProbability": {
            "type": "number",
            "description": "Forecast probability",
            "example": 20
          },
          "assignedTo": {
            "type": "string",
            "description": "Identifier of the user the opportunity is assigned to",
            "example": "082goXVW3lIExEQPOnd3"
          },
          "customFields": {
            "type": "array",
            "description": "Add custom fields to opportunities.",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "fieldValue": "9039160788"
              }
            ],
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/opportunities_v3_customFieldsInputStringSchemaV3"
                },
                {
                  "$ref": "#/components/schemas/opportunities_v3_customFieldsInputArraySchemaV3"
                },
                {
                  "$ref": "#/components/schemas/opportunities_v3_customFieldsInputObjectSchemaV3"
                }
              ]
            }
          }
        },
        "required": [
          "pipelineId",
          "locationId",
          "name",
          "status",
          "contactId"
        ]
      },
      "opportunities_v3_UpdateOpportunityDtoV3": {
        "type": "object",
        "properties": {
          "pipelineId": {
            "type": "string",
            "description": "pipeline Id",
            "example": "bCkKGpDsyPP4peuKowkG"
          },
          "name": {
            "type": "string",
            "description": "Name of the opportunity",
            "example": "First Opps"
          },
          "pipelineStageId": {
            "type": "string",
            "description": "Identifier of the pipeline stage",
            "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10"
          },
          "status": {
            "type": "string",
            "description": "Current status of the opportunity",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ],
            "example": "open"
          },
          "monetaryValue": {
            "type": "number",
            "description": "Monetary value of the opportunity",
            "example": 220
          },
          "forecastExpectedCloseDate": {
            "type": "string",
            "description": "Expected close date. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, or ISO 8601",
            "example": "2026-04-23"
          },
          "forecastProbability": {
            "type": "number",
            "description": "Forecast probability",
            "example": 20
          },
          "assignedTo": {
            "type": "string",
            "description": "Identifier of the user the opportunity is assigned to",
            "example": "082goXVW3lIExEQPOnd3"
          },
          "customFields": {
            "type": "array",
            "description": "Update custom fields to opportunities.",
            "example": [
              {
                "id": "6dvNaf7VhkQ9snc5vnjJ",
                "fieldValue": "9039160788"
              }
            ],
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/opportunities_v3_customFieldsInputStringSchemaV3"
                },
                {
                  "$ref": "#/components/schemas/opportunities_v3_customFieldsInputArraySchemaV3"
                },
                {
                  "$ref": "#/components/schemas/opportunities_v3_customFieldsInputObjectSchemaV3"
                }
              ]
            }
          }
        }
      },
      "opportunities_v3_UpsertOpportunityDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "opportunityId",
            "example": "yWQobCRIhRguQtD2llvk"
          },
          "pipelineId": {
            "type": "string",
            "description": "pipeline Id",
            "example": "bCkKGpDsyPP4peuKowkG"
          },
          "locationId": {
            "type": "string",
            "description": "locationId",
            "example": "CLu7BaljjqrEjBGKTNNe"
          },
          "followers": {
            "description": "contactId",
            "example": "LiKJ2vnRg5ETM8Z19K7",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isRemoveAllFollowers": {
            "type": "boolean",
            "description": "isRemoveAllFollowers",
            "example": true
          },
          "followersActionType": {
            "type": "string",
            "description": "followers action type",
            "enum": [
              "add",
              "remove"
            ],
            "example": "add"
          },
          "name": {
            "type": "string",
            "description": "name",
            "example": "opportunity name"
          },
          "status": {
            "type": "string",
            "description": "Current status of the opportunity",
            "enum": [
              "open",
              "won",
              "lost",
              "abandoned",
              "all"
            ],
            "example": "open"
          },
          "pipelineStageId": {
            "type": "string",
            "description": "Identifier of the pipeline stage",
            "example": "7915dedc-8f18-44d5-8bc3-77c04e994a10"
          },
          "monetaryValue": {
            "type": "object",
            "description": "Monetary value of the opportunity",
            "example": 220
          },
          "forecastExpectedCloseDate": {
            "type": "string",
            "description": "Expected close date. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, or ISO 8601",
            "example": "2026-04-23"
          },
          "forecastProbability": {
            "type": "number",
            "description": "Forecast probability",
            "example": 20
          },
          "assignedTo": {
            "type": "string",
            "description": "Identifier of the user the opportunity is assigned to",
            "example": "082goXVW3lIExEQPOnd3"
          },
          "lostReasonId": {
            "type": "string",
            "description": "lost reason Id",
            "example": "CLu7BaljjqrEjBGKTNNe"
          }
        },
        "required": [
          "pipelineId",
          "locationId",
          "followers",
          "isRemoveAllFollowers",
          "followersActionType"
        ]
      },
      "opportunities_v3_UpsertOpportunitySuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "description": "Updated / New Opportunity",
            "example": {}
          },
          "new": {
            "type": "boolean",
            "description": "Indicates whether the opportunity was newly created (true) or updated (false)",
            "example": true
          }
        },
        "required": [
          "opportunity",
          "new"
        ]
      },
      "opportunities_v3_FollowersDTO": {
        "type": "object",
        "properties": {
          "followers": {
            "description": "Array of user IDs to add or remove as followers (max 10)",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302Lunr"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "followers"
        ]
      },
      "opportunities_v3_CreateAddFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "description": "Current list of all follower user IDs after the operation",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersAdded": {
            "description": "User IDs that were successfully added as followers",
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "opportunities_v3_DeleteFollowersSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "followers": {
            "description": "Current list of all follower user IDs after the operation",
            "example": [
              "sx6wyHhbFdRXh302Lunr",
              "sx6wyHhbFdRXh302LLss"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "followersRemoved": {
            "description": "User IDs that were successfully removed as followers",
            "example": [
              "Mx6wyHhbFdRXh302Luer",
              "Ka6wyHhbFdRXh302LLsAm"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "payments_v3_CreateWhiteLabelIntegrationProviderDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "uniqueName": {
            "type": "string",
            "description": "A unique name given to the integration provider, uniqueName must start and end with a character. Only lowercase characters and hyphens (-) are supported",
            "example": "easy-direct"
          },
          "title": {
            "type": "string",
            "description": "The title or name of the integration provider.",
            "example": "Title"
          },
          "provider": {
            "type": "string",
            "description": "The type of payment provider associated with the integration provider.",
            "enum": [
              "authorize-net",
              "nmi"
            ],
            "example": {
              "AUTHORIZE_NET": "authorize-net",
              "NMI": "nmi"
            }
          },
          "description": {
            "type": "string",
            "description": "A brief description providing additional information about the integration provider.",
            "example": "Description"
          },
          "imageUrl": {
            "type": "string",
            "description": "The URL to an image representing the integration provider. The imageUrl should start with \"https://\" and ensure that this URL is publicly accessible.",
            "example": "https://example.com/image.jpg"
          }
        },
        "required": [
          "altId",
          "altType",
          "uniqueName",
          "title",
          "provider",
          "description",
          "imageUrl"
        ]
      },
      "payments_v3_CreateWhitelabelIntegrationResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the integration provider.",
            "example": "65cb47dda50f4f13ced4b870"
          },
          "altId": {
            "type": "string",
            "description": "The altId / locationId of the integration provider.",
            "example": "Z4Bxl8J4SaPEPLq9IQ8g"
          },
          "altType": {
            "type": "string",
            "description": "The altType of the integration provider.",
            "example": "location"
          },
          "title": {
            "type": "string",
            "description": "The title or name of the integration provider.",
            "example": "Example"
          },
          "route": {
            "type": "string",
            "description": "The route name associated with the integration provider.",
            "example": "epd"
          },
          "provider": {
            "type": "string",
            "description": "The payment provider associated with the integration provider.",
            "example": "nmi"
          },
          "description": {
            "type": "string",
            "description": "A brief description providing additional information about the integration provider.",
            "example": "Lorem"
          },
          "imageUrl": {
            "type": "string",
            "description": "The URL to an image representing the integration provider.",
            "example": "https://example.com/assets/pmd/img/payments/nmi-logo.webp"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was created.",
            "example": "2024-02-13T10:43:41.026Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was last updated.",
            "example": "2024-02-13T10:43:41.026Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "title",
          "route",
          "provider",
          "description",
          "imageUrl",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_IntegrationProviderSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the integration provider.",
            "example": "65cb47dda50f4f13ced4b870"
          },
          "altId": {
            "type": "string",
            "description": "The altId / locationId of the integration provider.",
            "example": "Z4Bxl8J4SaPEPLq9IQ8g"
          },
          "altType": {
            "type": "string",
            "description": "The altType of the integration provider.",
            "example": "location"
          },
          "title": {
            "type": "string",
            "description": "The title or name of the integration provider.",
            "example": "Example"
          },
          "route": {
            "type": "string",
            "description": "The route name associated with the integration provider.",
            "example": "epd"
          },
          "provider": {
            "type": "string",
            "description": "The payment provider associated with the integration provider.",
            "example": "nmi"
          },
          "description": {
            "type": "string",
            "description": "A brief description providing additional information about the integration provider.",
            "example": "Lorem"
          },
          "imageUrl": {
            "type": "string",
            "description": "The URL to an image representing the integration provider.",
            "example": "https://example.com/assets/pmd/img/payments/nmi-logo.webp"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was created.",
            "example": "2024-02-13T10:43:41.026Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The timestamp when the integration provider was last updated.",
            "example": "2024-02-13T10:43:41.026Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "title",
          "route",
          "provider",
          "description",
          "imageUrl",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_ListWhitelabelIntegrationProviderResponseDto": {
        "type": "object",
        "properties": {
          "providers": {
            "description": "list of integration provider.",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_IntegrationProviderSchema"
              }
            ]
          }
        },
        "required": [
          "providers"
        ]
      },
      "payments_v3_OrderResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the order.",
            "example": "653f5e0cde5a1314e62a837c"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the order."
          },
          "contactName": {
            "type": "string",
            "example": "James Bond",
            "description": "Contact name corresponding to the order."
          },
          "contactEmail": {
            "type": "string",
            "example": "usuario@ejemplo.com",
            "description": "Contact email corresponding to the order."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which order was created."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Order value."
          },
          "subtotal": {
            "type": "number",
            "example": "100",
            "description": "Order sub-total value."
          },
          "discount": {
            "type": "number",
            "example": "10",
            "description": "Discount value on order."
          },
          "status": {
            "type": "string",
            "description": "The status of the order (e.g., completed).",
            "example": "completed"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Order is in live / test mode."
          },
          "totalProducts": {
            "type": "number",
            "example": "5",
            "description": "Total products in an order."
          },
          "sourceType": {
            "type": "string",
            "example": "funnel",
            "description": "Source type of order (eg: funnel)."
          },
          "sourceName": {
            "type": "string",
            "example": "onestep",
            "description": "Source name for the order."
          },
          "sourceId": {
            "type": "string",
            "description": "Source id for the order.",
            "example": "kDj7BHej9Zyyq3QakJmz"
          },
          "sourceMeta": {
            "type": "object",
            "description": "Meta content for the source of order.",
            "example": "{ domain: \"app.crm.gesvision.com\", pageId:  \"rBVhyYhMsbxbO8ZqOcei\", pageUrl:  \"/v2/preview/rBVhyYhMsbxbO8ZqOcei\", stepId:   \"5a772f62-3fbc-418b-af1b-be8929dd64c2\"}"
          },
          "couponCode": {
            "type": "string",
            "description": "Coupon code for the order.",
            "example": "100PER"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the order.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the order.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "sourceSubType": {
            "type": "string",
            "description": "Source sub-type for the order.",
            "example": "one_step_order_form"
          },
          "fulfillmentStatus": {
            "type": "string",
            "description": "Fulfillment status of the order.",
            "example": "unfulfilled"
          },
          "onetimeProducts": {
            "type": "number",
            "example": "1",
            "description": "Total one time products in an order."
          },
          "recurringProducts": {
            "type": "number",
            "example": "1",
            "description": "Total recurring time products in an order."
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the order."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "sourceType",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_ListOrdersResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "An array of orders",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_OrderResponseSchema"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "total orders count"
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "payments_v3_AmountSummary": {
        "type": "object",
        "properties": {
          "subtotal": {
            "type": "number",
            "example": "100",
            "description": "Order sub-total value."
          },
          "discount": {
            "type": "number",
            "example": "10",
            "description": "Discount value on order."
          }
        },
        "required": [
          "subtotal"
        ]
      },
      "payments_v3_OrderSource": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "funnel",
              "website",
              "invoice",
              "calendar",
              "text2Pay",
              "document_contracts",
              "membership",
              "mobile_app",
              "communities",
              "point_of_sale",
              "manual",
              "form",
              "survey",
              "payment_link",
              "external"
            ]
          },
          "subType": {
            "type": "string",
            "enum": [
              "one_step_order_form",
              "two_step_order_form",
              "upsell",
              "tap_to_pay",
              "card_payment",
              "store",
              "contact_view",
              "email_campaign",
              "payments_dashboard",
              "shopify",
              "subscription_view",
              "store_upsell",
              "woocommerce",
              "service",
              "meeting",
              "imported_csv",
              "qr_code",
              "saas_one_time",
              "saas_subscription"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          }
        },
        "required": [
          "type",
          "id"
        ]
      },
      "payments_v3_GetOrderResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the order.",
            "example": "653f5e0cde5a1314e62a837c"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the order."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which order was created."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Order value."
          },
          "status": {
            "type": "string",
            "description": "The status of the order (e.g., completed).",
            "example": "completed"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Order is in live / test mode."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the order.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the order.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "fulfillmentStatus": {
            "type": "string",
            "description": "Fulfillment status of the order.",
            "example": "unfulfilled"
          },
          "contactSnapshot": {
            "type": "object",
            "description": "Contact details of the order.",
            "example": "{ last_name: \"Mcclain\", type: \"lead\", first_name_lower_case: \"rogan\", email: \"contacto@ejemplo.com\", last_name_lower_case: \"mcclain\", location_id: \"o6241QsiRwUIJHyjuhos\", company_name: \"Jordan and Cox Trading\"}"
          },
          "amountSummary": {
            "description": "Amount details of the order.",
            "example": "{ subtotal: 100, discount: 5 }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_AmountSummary"
              }
            ]
          },
          "source": {
            "description": "Source details of the order.",
            "example": "{ type: \"invoice\", id: \"61dd48ff65b013bc39bb09c6\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_OrderSource"
              }
            ]
          },
          "items": {
            "description": "Item details of the order.",
            "example": "{ _id: 61dd33e88058b9f967ca79dc, authorizeAmount: 0, locationId: \"SBAWb4yu7A4LSc0skQ6g\", name: \"Sample Product\": price: {}, product: { name: \"Testing product\", productType: \"SERVICE\" }}",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "coupon": {
            "type": "object",
            "description": "Coupon details of the order.",
            "example": "{ code: \"FEST10\", _id: \"63455e48901b43d4ef364a20\" }"
          },
          "trackingId": {
            "type": "string",
            "description": "Tracking id of the order.",
            "example": "63319ef9-de0a-4c84-aebd-3585fb4a0cdf"
          },
          "fingerprint": {
            "type": "string",
            "description": "Fingerprint id of the order.",
            "example": "5d51db5a-42b0-4b04-ba88-2c046c982a3a"
          },
          "meta": {
            "type": "object",
            "description": "Meta details of the order.",
            "example": "{ couponSessionExpired: true }"
          },
          "markAsTest": {
            "type": "boolean",
            "description": "Is test order.",
            "example": "false"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the order.",
            "example": "d3b16a92-a8ed-4e6b-8467-844750f78ed5"
          },
          "automaticTaxesCalculated": {
            "type": "boolean",
            "description": "Automatic taxes applied for the Order",
            "example": true
          },
          "taxCalculationProvider": {
            "type": "object",
            "description": "Provider name for automatic tax calculation",
            "example": "taxjar"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the order."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_CardDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "visa",
              "mastercard",
              "other"
            ],
            "example": "mastercard"
          },
          "last4": {
            "type": "string",
            "description": "Last 4 digit of the card",
            "example": "1234"
          }
        },
        "required": [
          "type",
          "last4"
        ]
      },
      "payments_v3_ChequeDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "check number",
            "example": "129-129-129-912"
          }
        },
        "required": [
          "number"
        ]
      },
      "payments_v3_PostRecordOrderPaymentBody": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "location Id / company Id based on altType",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "mode": {
            "type": "string",
            "description": "manual payment method",
            "enum": [
              "cash",
              "card",
              "cheque",
              "bank_transfer",
              "other"
            ],
            "example": "card"
          },
          "card": {
            "description": "Details of Card if used for payment",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_CardDto"
              }
            ]
          },
          "cheque": {
            "description": "Details of the Cheque if used for payment",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ChequeDto"
              }
            ]
          },
          "notes": {
            "type": "string",
            "description": "Any note to be recorded with the transaction",
            "example": "This was a direct payment"
          },
          "amount": {
            "type": "number",
            "description": "Amount to be paid against the invoice.",
            "example": 100
          },
          "meta": {
            "type": "object",
            "description": "Meta data to be recorded with the transaction"
          },
          "isPartialPayment": {
            "type": "boolean",
            "description": "Indicates if the order is intended to be a partial payment."
          }
        },
        "required": [
          "altId",
          "altType",
          "mode"
        ]
      },
      "payments_v3_PostRecordOrderPaymentResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status of the request",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "payments_v3_FulfillmentTracking": {
        "type": "object",
        "properties": {
          "trackingNumber": {
            "type": "string",
            "description": "Tracking number provided by the shipping carrier",
            "example": "40012345678"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping carrier name",
            "example": "FedEx"
          },
          "trackingUrl": {
            "type": "string",
            "description": "Tracking URL",
            "example": "https://www.fedex.com/wtrk/track/?trknbr=40012345678"
          }
        }
      },
      "payments_v3_FulfillmentItems": {
        "type": "object",
        "properties": {
          "priceId": {
            "type": "string",
            "description": "The id of product price",
            "example": "6578278e879ad2646715ba9c"
          },
          "qty": {
            "type": "number",
            "description": "The no of quantity of the item",
            "example": 1
          }
        },
        "required": [
          "priceId",
          "qty"
        ]
      },
      "payments_v3_CreateFulfillmentDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "trackings": {
            "description": "Fulfillment tracking information",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_FulfillmentTracking"
            }
          },
          "items": {
            "description": "Fulfilled items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_FulfillmentItems"
            }
          },
          "notifyCustomer": {
            "type": "boolean",
            "description": "Need to send a notification to customer",
            "example": true
          }
        },
        "required": [
          "altId",
          "altType",
          "trackings",
          "items",
          "notifyCustomer"
        ]
      },
      "payments_v3_ProductVariantOptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the option.",
            "example": "h4z7u0im2q8"
          },
          "name": {
            "type": "string",
            "description": "The name of the option.",
            "example": "XL"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "payments_v3_ProductVariantDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the variant.",
            "example": "38s63qmxfr4"
          },
          "name": {
            "type": "string",
            "description": "The name of the variant.",
            "example": "Size"
          },
          "options": {
            "description": "An array of options for the variant.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_ProductVariantOptionDto"
            }
          }
        },
        "required": [
          "id",
          "name",
          "options"
        ]
      },
      "payments_v3_ProductLabelDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The content for the product label.",
            "example": "Featured"
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-26T05:43:35.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-30T05:43:39.000Z"
          }
        },
        "required": [
          "title"
        ]
      },
      "payments_v3_DefaultProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_MembershipOfferDto": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Membership offer label",
            "example": "top_50"
          },
          "value": {
            "type": "string",
            "description": "Membership offer label",
            "example": "50"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the membership offer.",
            "example": "655b33aa2209e60b6adb87a7"
          }
        },
        "required": [
          "label",
          "value",
          "_id"
        ]
      },
      "payments_v3_RecurringDto": {
        "type": "object",
        "properties": {
          "interval": {
            "type": "string",
            "description": "The interval at which the recurring event occurs.",
            "example": "day",
            "enum": [
              "day",
              "month",
              "week",
              "year"
            ]
          },
          "intervalCount": {
            "type": "number",
            "description": "The number of intervals between each occurrence of the event.",
            "example": 1
          }
        },
        "required": [
          "interval",
          "intervalCount"
        ]
      },
      "payments_v3_DefaultPriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "payments_v3_FulfilledItem": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The id of product price",
            "example": "6578278e879ad2646715ba9c"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Iphone 15 pro"
          },
          "product": {
            "description": "Product details",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_DefaultProductResponseDto"
              }
            ]
          },
          "price": {
            "description": "Price details",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_DefaultPriceResponseDto"
              }
            ]
          },
          "qty": {
            "type": "number",
            "description": "The no of quantity of the current fulfilled item",
            "example": 1
          }
        },
        "required": [
          "_id",
          "name",
          "product",
          "price",
          "qty"
        ]
      },
      "payments_v3_FulfillmentSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "trackings": {
            "description": "Fulfillment tracking information",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_FulfillmentTracking"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the fulfillment item.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "items": {
            "description": "Fulfilled items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_FulfilledItem"
            }
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "trackings",
          "_id",
          "items",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_CreateFulfillmentResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "data": {
            "description": "fulfillment data",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_FulfillmentSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "payments_v3_ListFulfillmentResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "data": {
            "description": "An array of fulfilled items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_FulfillmentSchema"
            }
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "payments_v3_TxnResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the transaction.",
            "example": "61dd0feac077f72010f78804"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the transaction."
          },
          "mergedFromContactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "ID of the contact that was merged from."
          },
          "contactName": {
            "type": "string",
            "example": "James Bond",
            "description": "Contact name corresponding to the transaction."
          },
          "contactEmail": {
            "type": "string",
            "example": "usuario@ejemplo.com",
            "description": "Contact email corresponding to the transaction."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which transaction occurred."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Transaction value."
          },
          "status": {
            "type": "object",
            "description": "The status of the transaction (e.g., succeeded).",
            "example": "succeeded"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Transaction is in live / test mode."
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of transaction (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "61dd0fe9c077f73e67f78803",
            "description": "Entity id for the transaction. e.g: order id"
          },
          "entitySourceType": {
            "type": "string",
            "example": "funnel",
            "description": "Entity source type of transaction (eg: funnel)."
          },
          "entitySourceSubType": {
            "type": "string",
            "example": "two_step_order_form",
            "description": "Entity source sub-type of the transactions."
          },
          "entitySourceName": {
            "type": "string",
            "example": "new funnel",
            "description": "Entity source name for the transaction."
          },
          "entitySourceId": {
            "type": "string",
            "description": "Entity source id for the transaction.",
            "example": "BDBMEghdIUaqMPEsK349"
          },
          "entitySourceMeta": {
            "type": "object",
            "description": "Meta content for the entity source of transaction.",
            "example": "{ domain: \"app.crm.gesvision.com\", pageId:  \"rBVhyYhMsbxbO8ZqOcei\", pageUrl:  \"/v2/preview/rBVhyYhMsbxbO8ZqOcei\", stepId:   \"5a772f62-3fbc-418b-af1b-be8929dd64c2\"}"
          },
          "subscriptionId": {
            "type": "string",
            "example": "sub_1KGcXDCScnf89tZoVkoEMCEL",
            "description": "Subscription id for transaction."
          },
          "chargeId": {
            "type": "string",
            "example": "in_1KGcXDCScnf89tZohCsmImwE",
            "description": "Charge id for transaction."
          },
          "chargeSnapshot": {
            "type": "object",
            "description": "Charge snapshot of transaction.",
            "example": "{ id: \"in_1KGcXDCScnf89tZohCsmImwE\", object: \"invoice\", account_country: \"US\",  account_name:  \"CRM-Testing\" }"
          },
          "paymentProviderType": {
            "type": "string",
            "example": "stripe",
            "description": "Payment provider for transaction."
          },
          "paymentProviderConnectedAccount": {
            "type": "string",
            "example": "612ca676b484b241fef9d962",
            "description": "Payment provider  account id for transaction."
          },
          "ipAddress": {
            "type": "string",
            "example": "107.178.194.224",
            "description": "Ip address from where transaction was initiated."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the transaction.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The update timestamp of the transaction.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "amountRefunded": {
            "type": "number",
            "example": "10",
            "description": "Transaction amount refunded."
          },
          "paymentMethod": {
            "type": "object",
            "example": "{ card: { \"brand\": \"discover\", \"last4\": \"0012\" } }",
            "description": "Transaction payment method details."
          },
          "fulfilledAt": {
            "format": "date-time",
            "type": "string",
            "description": "The charged timestamp of the transaction.",
            "example": "2023-11-20T10:27:36.515Z"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the transaction."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "entitySourceType",
          "createdAt",
          "updatedAt",
          "fulfilledAt"
        ]
      },
      "payments_v3_ListTxnsResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "An array of transactions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_TxnResponseSchema"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "total transactions count"
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "payments_v3_GetTxnResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the transaction.",
            "example": "61dd0feac077f72010f78804"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the transaction."
          },
          "contactSnapshot": {
            "type": "object",
            "description": "Contact details of the transaction.",
            "example": "{ last_name: \"Mcclain\", type: \"lead\", first_name_lower_case: \"rogan\", email: \"contacto@ejemplo.com\", last_name_lower_case: \"mcclain\", location_id: \"o6241QsiRwUIJHyjuhos\", company_name: \"Jordan and Cox Trading\"}"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which transaction was made."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Transaction value."
          },
          "status": {
            "type": "object",
            "example": "succeeded",
            "description": "Transaction status."
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Transaction is in live / test mode."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the transaction.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the transaction.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of transaction (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "61dd0fe9c077f73e67f78803",
            "description": "Entity id for the transaction. e.g: order id"
          },
          "entitySource": {
            "description": "Entity source details for the transaction.",
            "example": "{ type: \"funnel\", id: \"BDBMEghdIUaqMPEsK349\", subType: \"two_step_order_form\", name: \"new funnel\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_OrderSource"
              }
            ]
          },
          "chargeId": {
            "type": "string",
            "example": "in_1KGcXDCScnf89tZohCsmImwE",
            "description": "Charge id for transaction."
          },
          "chargeSnapshot": {
            "type": "object",
            "description": "Charge snapshot of transaction.",
            "example": "{ id: \"in_1KGcXDCScnf89tZohCsmImwE\", object: \"invoice\", account_country: \"US\",  account_name:  \"CRM-Testing\" }"
          },
          "invoiceId": {
            "type": "string",
            "example": "in_1KGcXDCScnf89tZohCsmImwE",
            "description": "Invoice id for the transaction."
          },
          "subscriptionId": {
            "type": "string",
            "example": "sub_1KGcXDCScnf89tZoVkoEMCEL",
            "description": "Subscription id for transaction."
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details of the transaction.",
            "example": "{ type: \"stripe\", connectedAccount: { _id: \"612ca676b484b241fef9d962\", accountId: \"acct_1Ihw53CScnf89tZo\" } }"
          },
          "ipAddress": {
            "type": "string",
            "example": "107.178.194.224",
            "description": "Ip address from where transaction was initiated."
          },
          "meta": {
            "type": "object",
            "description": "Meta details of the transaction.",
            "example": "{ stepId: \"af7c731e-e36f-4152-bd1a-3f69a31d6d6d\", pageId: \"A8ltotc2jZxurJba4e3Y\", pageUrl: \"/v2/preview/A8ltotc2jZxurJba4e3Y\" }"
          },
          "markAsTest": {
            "type": "boolean",
            "description": "Is test transaction.",
            "example": "false"
          },
          "isParent": {
            "type": "boolean",
            "description": "Is parent transaction.",
            "example": "false"
          },
          "amountRefunded": {
            "type": "number",
            "example": "10",
            "description": "Transaction amount refunded."
          },
          "receiptId": {
            "type": "string",
            "example": "6492fbea489bc07892c6defb",
            "description": "Receipt id for transaction."
          },
          "qboSynced": {
            "type": "boolean",
            "description": "Is transaction qbo synced.",
            "example": "false"
          },
          "qboResponse": {
            "type": "object",
            "description": "Qbo details of the transaction.",
            "example": "{ domain: \"QBO\", sparse: false, Id: \"180\", SyncToken: \"0\", TotalAmt: 25 }"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the transaction.",
            "example": "d3b16a92-a8ed-4e6b-8467-844750f78ed5"
          },
          "mergedFromContactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "ID of the contact that was merged from."
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the transaction."
          }
        },
        "required": [
          "_id",
          "altType",
          "altId",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_SubscriptionResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the subscription.",
            "example": "64bf78af39118e4011926cba"
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "altType": {
            "type": "string",
            "example": "location",
            "description": "AltType is the type of identifier.",
            "enum": [
              "location"
            ]
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the subscription."
          },
          "contactName": {
            "type": "string",
            "example": "James Bond",
            "description": "Contact name corresponding to the subscription."
          },
          "contactEmail": {
            "type": "string",
            "example": "usuario@ejemplo.com",
            "description": "Contact email corresponding to the subscription."
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which subscription occurred."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Subscription value."
          },
          "status": {
            "type": "object",
            "description": "The status of the subscription (e.g., succeeded).",
            "example": "active"
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Subscription is in live / test mode."
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of subscription (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "62f4db0f3059ecee61379012",
            "description": "Entity id for the subscription. e.g: order id"
          },
          "entitySourceType": {
            "type": "string",
            "example": "funnel",
            "description": "Entity source type of subscription (eg: funnel)."
          },
          "entitySourceName": {
            "type": "string",
            "example": "Attribution Funnel",
            "description": "Entity source name for the subscription."
          },
          "entitySourceId": {
            "type": "string",
            "description": "Entity source id for the subscription.",
            "example": "bevrkPbLaDNXFaqfLKMm"
          },
          "entitySourceMeta": {
            "type": "object",
            "description": "Meta content for the entity source of subscription.",
            "example": "{ domain: \"app.crm.gesvision.com\", pageId:  \"sxC4lNhFIavEnLZh5KhC\", pageUrl:  \"/v2/preview/sxC4lNhFIavEnLZh5KhC\", stepId: \"7d303d1f-cb85-403d-b548-bf01de5c7bb0\" }"
          },
          "subscriptionId": {
            "type": "string",
            "example": "I-0UE609H8E43P",
            "description": "Subscription id for subscription."
          },
          "subscriptionSnapshot": {
            "type": "object",
            "description": "Snapshot of subscription.",
            "example": "{ status: \"ACTIVE\", status_update_time: \"2022-08-16T11:06:53Z\", id: \"I-0UE609H8E43P\", plan_id: \"P-82K11750F0313430KMLRGE6Y\", start_time: \"2022-08-16T11:05:31Z\", quantity: 1 }"
          },
          "paymentProviderType": {
            "type": "string",
            "example": "stripe",
            "description": "Payment provider for subscription."
          },
          "paymentProviderConnectedAccount": {
            "type": "string",
            "example": "ATn0CqrzrWS5ak185Bsb1xCpyzBDOZ8WdRxyFotppLYePTDhiuQ49H5QXO_L-4HKk1GBn7f9_QhbNK2s",
            "description": "Payment provider connected account id for subscription."
          },
          "ipAddress": {
            "type": "string",
            "example": "103.100.16.82",
            "description": "Ip address from where subscription was initiated."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The update timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the subscription."
          }
        },
        "required": [
          "_id",
          "altId",
          "altType",
          "status",
          "entitySourceType",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_ListSubscriptionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "An array of subscriptions",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_SubscriptionResponseSchema"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "total subscriptions count"
          }
        },
        "required": [
          "data",
          "totalCount"
        ]
      },
      "payments_v3_CustomRRuleOptionsDto": {
        "type": "object",
        "properties": {
          "intervalType": {
            "type": "string",
            "enum": [
              "yearly",
              "monthly",
              "weekly",
              "daily",
              "hourly",
              "minutely",
              "secondly"
            ],
            "example": "monthly"
          },
          "interval": {
            "type": "number",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DD format",
            "example": "2023-01-01"
          },
          "startTime": {
            "type": "string",
            "description": "Start time in HH:mm:ss format",
            "example": "20:45:00"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DD format",
            "example": "2029-11-01"
          },
          "endTime": {
            "type": "string",
            "description": "End time in HH:mm:ss format",
            "example": "18:45:00"
          },
          "dayOfMonth": {
            "type": "number",
            "description": "-1, 1, 2, 3, ..., 27, 28",
            "example": 15
          },
          "dayOfWeek": {
            "type": "string",
            "enum": [
              "mo",
              "tu",
              "we",
              "th",
              "fr",
              "sa",
              "su"
            ],
            "example": "mo"
          },
          "numOfWeek": {
            "type": "number",
            "description": "-1, 1, 2, 3, 4",
            "example": -1
          },
          "monthOfYear": {
            "type": "string",
            "enum": [
              "jan",
              "feb",
              "mar",
              "apr",
              "may",
              "jun",
              "jul",
              "aug",
              "sep",
              "oct",
              "nov",
              "dec"
            ],
            "example": "jan"
          },
          "count": {
            "type": "number",
            "description": "Max number of task executions",
            "example": 10
          },
          "daysBefore": {
            "type": "number",
            "description": "Execute task number of days before",
            "example": 5
          }
        },
        "required": [
          "intervalType",
          "interval",
          "startDate"
        ]
      },
      "payments_v3_ScheduleOptionsDto": {
        "type": "object",
        "properties": {
          "executeAt": {
            "type": "string"
          },
          "rrule": {
            "$ref": "#/components/schemas/payments_v3_CustomRRuleOptionsDto"
          }
        }
      },
      "payments_v3_GetSubscriptionResponseSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the subscription.",
            "example": "64bf78af39118e4011926cba"
          },
          "altType": {
            "type": "object",
            "example": "location",
            "description": "AltType is the type of identifier."
          },
          "altId": {
            "type": "string",
            "description": "AltId is the unique identifier eg: location id.",
            "example": "3SwdhCu3svxI8AKsPJt6"
          },
          "contactId": {
            "type": "string",
            "example": "XPLSw2SVagl12LMDeTmQ",
            "description": "Contact id corresponding to the subscription."
          },
          "contactSnapshot": {
            "type": "object",
            "description": "Contact details of the subscriber.",
            "example": "{ last_name: \"Mcclain\", type: \"lead\", first_name_lower_case: \"rogan\", email: \"contacto@ejemplo.com\", last_name_lower_case: \"mcclain\", location_id: \"o6241QsiRwUIJHyjuhos\", company_name: \"Jordan and Cox Trading\"}"
          },
          "coupon": {
            "type": "object",
            "description": "Coupon details of the subscription.",
            "example": "{ _id: \"6374c6926d119a393fe1e556\", usageCount: 5260, altId: \"jVFIxsMY19D94nOSIOEO\", altType: \"location\", name: \"FREE-100%\", code: \"FREE100\", discountType: \"percentage\", discountValue: 100 }"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency in which subscription was made."
          },
          "amount": {
            "type": "number",
            "example": "100",
            "description": "Subscription value."
          },
          "status": {
            "type": "object",
            "example": "active",
            "description": "Subscription status."
          },
          "liveMode": {
            "type": "boolean",
            "example": "false",
            "description": "Subscription is in live / test mode."
          },
          "entityType": {
            "type": "string",
            "example": "order",
            "description": "Entity type of subscription (eg: order)."
          },
          "entityId": {
            "type": "string",
            "example": "62f4db0f3059ecee61379012",
            "description": "Entity id for the subscription. e.g: order id"
          },
          "entitySource": {
            "description": "Entity source details for the subscription.",
            "example": "{ type: \"funnel\", id: \"lx6ROqruHGVQD2PZwFxK\", subType: \"upsell\", name: \"test funnel\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_OrderSource"
              }
            ]
          },
          "subscriptionId": {
            "type": "string",
            "example": "I-0UE609H8E43P",
            "description": "Subscription id for subscription."
          },
          "subscriptionSnapshot": {
            "type": "object",
            "description": "Snapshot of subscription.",
            "example": "{ status: \"ACTIVE\", status_update_time: \"2022-08-16T11:06:53Z\", id: \"I-0UE609H8E43P\", plan_id: \"P-82K11750F0313430KMLRGE6Y\", start_time: \"2022-08-16T11:05:31Z\", quantity: 1 }"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details for the subscription.",
            "example": "{ type: \"paypal\", connectedAccount: { _id: \"64410debdc8f3b0503523abb\", merchantClientId: \"AeXtjrxdgsJiCPwQt5jML5pH-0mwmLs-tH7ub4Uo3IrDKvRl34FvJy8niI6E1wmS_pryIRdNllyVl58b\" } }"
          },
          "ipAddress": {
            "type": "string",
            "example": "103.100.16.82",
            "description": "Ip address from where subscription was initiated."
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the subscription.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "meta": {
            "type": "object",
            "description": "Meta details of the subscription.",
            "example": "{ collection: \"transactionsv2\", id: \"6320652f0f664b6632006920\" }"
          },
          "markAsTest": {
            "type": "boolean",
            "description": "Is test subscription.",
            "example": "false"
          },
          "schedule": {
            "description": "Scedule details for the subscription.",
            "example": "{ collection: \"transactionsv2\", id: \"6320652f0f664b6632006920\" }",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ScheduleOptionsDto"
              }
            ]
          },
          "autoPayment": {
            "type": "object",
            "description": "Auto payment details of the subscription.",
            "example": "{ customerId: \"908879612\", paymentMethodId: \"908646635\" }"
          },
          "recurringProduct": {
            "type": "object",
            "description": "Recurring product details of the subscription.",
            "example": "{ locationId: \"Z4Bxl8J4SaPEPLq9IQ8g\", funnel: \"bQHJWKcyjiKjk4BHv91g\", step: \"2281a993-8a75-4b48-9912-571f29c99a74\", name: \"Sofa Set\" }"
          },
          "canceledAt": {
            "format": "date-time",
            "type": "string",
            "description": "Cancellation timestamp of the subscription.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "canceledBy": {
            "type": "string",
            "example": "qUuXUiB2AiA2DIthEicP",
            "description": "User id who cancelled the subscription."
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the subscription.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          },
          "createdBy": {
            "type": "string",
            "example": "user123",
            "description": "User ID who created the subscription."
          }
        },
        "required": [
          "_id",
          "altType",
          "altId",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_ApplyToFuturePaymentsConfigDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of future payments configuration",
            "example": "fixed",
            "enum": [
              "forever",
              "fixed"
            ]
          },
          "duration": {
            "type": "number",
            "description": "Duration value for fixed type configurations",
            "example": 3
          },
          "durationType": {
            "type": "string",
            "description": "Duration type for fixed configurations (e.g. months)",
            "example": "months"
          }
        },
        "required": [
          "type"
        ]
      },
      "payments_v3_CouponDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique MongoDB identifier for the coupon",
            "example": "67f6c132d9485f9dacd5f123"
          },
          "usageCount": {
            "type": "number",
            "description": "Number of times the coupon has been used",
            "example": 12
          },
          "limitPerCustomer": {
            "type": "number",
            "description": "Maximum number of times a customer can use this coupon (0 for unlimited)",
            "example": 5
          },
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "79t07PzK8Tvf73d12312"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity",
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Display name of the coupon",
            "example": "NEWT6"
          },
          "code": {
            "type": "string",
            "description": "Redemption code for the coupon",
            "example": "NEWT6"
          },
          "discountType": {
            "type": "string",
            "description": "Type of discount (percentage or amount)",
            "example": "percentage",
            "enum": [
              "percentage",
              "amount"
            ]
          },
          "discountValue": {
            "type": "number",
            "description": "Value of the discount (percentage or fixed amount)",
            "example": 25
          },
          "status": {
            "type": "string",
            "description": "Current status of the coupon",
            "example": "scheduled",
            "enum": [
              "scheduled",
              "active",
              "expired"
            ]
          },
          "startDate": {
            "type": "string",
            "description": "Date when the coupon becomes active",
            "example": "2025-04-30T18:30:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date when the coupon expires",
            "example": "2025-05-30T18:30:00.000Z"
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "description": "Indicates if the coupon applies to future recurring payments",
            "example": true
          },
          "applyToFuturePaymentsConfig": {
            "description": "Configuration for how the coupon applies to future payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ApplyToFuturePaymentsConfigDto"
              }
            ]
          },
          "productIds": {
            "description": "Product Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "priceIds": {
            "description": "Price Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variantIds": {
            "description": "Variant Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the coupon (if applicable)",
            "example": "q0m15dTLGeiGOXG123123"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          }
        },
        "required": [
          "_id",
          "usageCount",
          "limitPerCustomer",
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "status",
          "startDate",
          "applyToFuturePayments",
          "applyToFuturePaymentsConfig",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_ListCouponsResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of coupon objects",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/payments_v3_CouponDto"
            }
          },
          "totalCount": {
            "type": "number",
            "description": "Total number of coupons matching the query criteria",
            "example": 20
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing this API request",
            "example": "c667b18d-8f5e-44cf-a914"
          }
        },
        "required": [
          "data",
          "totalCount",
          "traceId"
        ]
      },
      "payments_v3_ApplyToFuturePaymentsConfig": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of the config",
            "example": "forever | fixed",
            "enum": [
              "forever",
              "fixed"
            ]
          },
          "duration": {
            "type": "number",
            "description": "Duration the coupon to be applied in a subscription",
            "example": 5
          },
          "durationType": {
            "type": "string",
            "description": "Type of the duration",
            "example": "months",
            "enum": [
              "months"
            ]
          }
        },
        "required": [
          "type",
          "duration",
          "durationType"
        ]
      },
      "payments_v3_CreateCouponParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "BQdAwxa0ky1iK2sstLGJ"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Coupon Name",
            "example": "New Year Sale"
          },
          "code": {
            "type": "string",
            "description": "Coupon Code",
            "example": "LEVELUPDAY2022"
          },
          "discountType": {
            "type": "string",
            "description": "Discount Type",
            "enum": [
              "percentage",
              "amount"
            ],
            "example": "amount"
          },
          "discountValue": {
            "type": "number",
            "description": "Discount Value",
            "example": 10
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-01T22:45:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-31T22:45:00.000Z"
          },
          "usageLimit": {
            "type": "number",
            "description": "Max number of times coupon can be used",
            "example": 10
          },
          "productIds": {
            "description": "Product Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "priceIds": {
            "description": "Price Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variantIds": {
            "description": "Variant Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Is Coupon applicable on upcoming subscription transactions"
          },
          "applyToFuturePaymentsConfig": {
            "example": [
              {
                "type": "fixed",
                "duration": 5,
                "durationType": "months"
              },
              {
                "type": "forever"
              }
            ],
            "default": {
              "type": "forever"
            },
            "description": "If coupon is applicable on upcoming subscription transactions, how many months should it be applicable for a subscription",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ApplyToFuturePaymentsConfig"
              }
            ]
          },
          "limitPerCustomer": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Limits whether a coupon can be redeemed only once per customer."
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "startDate"
        ]
      },
      "payments_v3_CreateCouponResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique MongoDB identifier for the coupon",
            "example": "67f6c132d9485f9dacd5f123"
          },
          "usageCount": {
            "type": "number",
            "description": "Number of times the coupon has been used",
            "example": 12
          },
          "limitPerCustomer": {
            "type": "number",
            "description": "Maximum number of times a customer can use this coupon (0 for unlimited)",
            "example": 5
          },
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "79t07PzK8Tvf73d12312"
          },
          "altType": {
            "type": "string",
            "description": "Type of entity",
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Display name of the coupon",
            "example": "NEWT6"
          },
          "code": {
            "type": "string",
            "description": "Redemption code for the coupon",
            "example": "NEWT6"
          },
          "discountType": {
            "type": "string",
            "description": "Type of discount (percentage or amount)",
            "example": "percentage",
            "enum": [
              "percentage",
              "amount"
            ]
          },
          "discountValue": {
            "type": "number",
            "description": "Value of the discount (percentage or fixed amount)",
            "example": 25
          },
          "status": {
            "type": "string",
            "description": "Current status of the coupon",
            "example": "scheduled",
            "enum": [
              "scheduled",
              "active",
              "expired"
            ]
          },
          "startDate": {
            "type": "string",
            "description": "Date when the coupon becomes active",
            "example": "2025-04-30T18:30:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date when the coupon expires",
            "example": "2025-05-30T18:30:00.000Z"
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "description": "Indicates if the coupon applies to future recurring payments",
            "example": true
          },
          "applyToFuturePaymentsConfig": {
            "description": "Configuration for how the coupon applies to future payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ApplyToFuturePaymentsConfigDto"
              }
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID associated with the coupon (if applicable)",
            "example": "q0m15dTLGeiGOXG123123"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-09T18:49:22.026Z"
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing this API request",
            "example": "c667b18d-8f5e-44cf-a914"
          }
        },
        "required": [
          "_id",
          "usageCount",
          "limitPerCustomer",
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "status",
          "startDate",
          "applyToFuturePayments",
          "applyToFuturePaymentsConfig",
          "createdAt",
          "updatedAt",
          "traceId"
        ]
      },
      "payments_v3_UpdateCouponParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "BQdAwxa0ky1iK2sstLGJ"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "name": {
            "type": "string",
            "description": "Coupon Name",
            "example": "New Year Sale"
          },
          "code": {
            "type": "string",
            "description": "Coupon Code",
            "example": "LEVELUPDAY2022"
          },
          "discountType": {
            "type": "string",
            "description": "Discount Type",
            "enum": [
              "percentage",
              "amount"
            ],
            "example": "amount"
          },
          "discountValue": {
            "type": "number",
            "description": "Discount Value",
            "example": 10
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-01T22:45:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2023-01-31T22:45:00.000Z"
          },
          "usageLimit": {
            "type": "number",
            "description": "Max number of times coupon can be used",
            "example": 10
          },
          "productIds": {
            "description": "Product Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "priceIds": {
            "description": "Price Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variantIds": {
            "description": "Variant Ids",
            "example": [
              "6241712be68f7a98102ba272"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "applyToFuturePayments": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Is Coupon applicable on upcoming subscription transactions"
          },
          "applyToFuturePaymentsConfig": {
            "example": [
              {
                "type": "fixed",
                "duration": 5,
                "durationType": "months"
              },
              {
                "type": "forever"
              }
            ],
            "default": {
              "type": "forever"
            },
            "description": "If coupon is applicable on upcoming subscription transactions, how many months should it be applicable for a subscription",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_ApplyToFuturePaymentsConfig"
              }
            ]
          },
          "limitPerCustomer": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Limits whether a coupon can be redeemed only once per customer."
          },
          "id": {
            "type": "string",
            "description": "Coupon Id",
            "example": "6241712be68f7a98102ba272"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "code",
          "discountType",
          "discountValue",
          "startDate",
          "id"
        ]
      },
      "payments_v3_DeleteCouponParams": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "BQdAwxa0ky1iK2sstLGJ"
          },
          "altType": {
            "type": "string",
            "description": "Alt Type",
            "enum": [
              "location"
            ],
            "example": "location"
          },
          "id": {
            "type": "string",
            "description": "Coupon Id",
            "example": "6241712be68f7a98102ba272"
          }
        },
        "required": [
          "altId",
          "altType",
          "id"
        ]
      },
      "payments_v3_DeleteCouponResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates whether the delete was successful",
            "example": true
          },
          "traceId": {
            "type": "string",
            "description": "Unique identifier for tracing this API request",
            "example": "c667b18d-8f5e-44cf-a914"
          }
        },
        "required": [
          "success",
          "traceId"
        ]
      },
      "payments_v3_CreateCustomProvidersDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "supportsSubscriptionSchedule": {
            "type": "boolean",
            "description": "Whether the config supports subscription schedule or not. true represents config supports subscription schedule",
            "example": true
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "supportsSubscriptionSchedule"
        ]
      },
      "payments_v3_CreateCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the custom provider.",
            "example": "662a44ad19a2a44d3cd9d749"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "Lk3nlfk4lxlelVEwcW"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The application id of marketplace",
            "example": "65f0b217a05c774da7f1efa5"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details.",
            "example": "{ live: { liveMode: true }, test: { liveMode: false, apiKey: \"y5ZQxryRFXZHvUJZdLXXXXXX\", publishableKey: \"rzp_test_zPRoVMLOa0A9wo\" }}"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the config is deleted or not. true represents config is deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the custom provider.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the custom provider.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the custom provider.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "_id",
          "locationId",
          "marketplaceAppId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_DeleteCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the custom provider config is disconnect or not. true represents config is disconnect",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "payments_v3_GetCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the custom provider.",
            "example": "662a44ad19a2a44d3cd9d749"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "Lk3nlfk4lxlelVEwcW"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The application id of marketplace",
            "example": "65f0b217a05c774da7f1efa5"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details.",
            "example": "{ live: { liveMode: true }, test: { liveMode: false, apiKey: \"y5ZQxryRFXZHvUJZdLXXXXXX\", publishableKey: \"rzp_test_zPRoVMLOa0A9wo\" }}"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the config is deleted or not. true represents config is deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the custom provider.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the custom provider.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the custom provider.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "_id",
          "locationId",
          "marketplaceAppId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_CustomProviderKeys": {
        "type": "object",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "Api-key for custom payment provider config",
            "example": "y5ZQxryRFXZHvUJZdLeXXXXX"
          },
          "publishableKey": {
            "type": "string",
            "description": "Publishable-key for custom payment provider config",
            "example": "rzp_test_zPRoVMLOa0XXXX"
          }
        },
        "required": [
          "apiKey",
          "publishableKey"
        ]
      },
      "payments_v3_ConnectCustomProvidersConfigDto": {
        "type": "object",
        "properties": {
          "live": {
            "description": "Live config containing api-key and publishable key for live payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_CustomProviderKeys"
              }
            ]
          },
          "test": {
            "description": "Test config containing api-key and publishable-key for test payments",
            "allOf": [
              {
                "$ref": "#/components/schemas/payments_v3_CustomProviderKeys"
              }
            ]
          }
        },
        "required": [
          "live",
          "test"
        ]
      },
      "payments_v3_ConnectCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the custom provider",
            "example": "Company Paypal Integration"
          },
          "description": {
            "type": "string",
            "description": "Description of payment gateway. Shown on the payments integrations page as subtext",
            "example": "This payment gateway supports payments in India via UPI, Net banking, cards and wallets."
          },
          "paymentsUrl": {
            "type": "string",
            "description": "This url will be loaded in iFrame to start a payment session.",
            "example": "https://testpayment.paypal.com"
          },
          "queryUrl": {
            "type": "string",
            "description": "The url used for querying payments related events. Ex. verify, refund, subscription etc.",
            "example": "https://testsubscription.paypal.com"
          },
          "imageUrl": {
            "type": "string",
            "description": "Public image url for logo of the payment gateway displayed on the payments integrations page.",
            "example": "https://testsubscription.paypal.com"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the custom provider.",
            "example": "662a44ad19a2a44d3cd9d749"
          },
          "locationId": {
            "type": "string",
            "description": "Location id",
            "example": "Lk3nlfk4lxlelVEwcW"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The application id of marketplace",
            "example": "65f0b217a05c774da7f1efa5"
          },
          "paymentProvider": {
            "type": "object",
            "description": "Payment provider details.",
            "example": "{ live: { liveMode: true }, test: { liveMode: false, apiKey: \"y5ZQxryRFXZHvUJZdLXXXXXX\", publishableKey: \"rzp_test_zPRoVMLOa0A9wo\" }}"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the config is deleted or not. true represents config is deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the custom provider.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the custom provider.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "traceId": {
            "type": "string",
            "description": "Trace id of the custom provider.",
            "example": "302d2cf4-1ba0-4bf5-bc3b-f8fa76fda58a"
          }
        },
        "required": [
          "name",
          "description",
          "paymentsUrl",
          "queryUrl",
          "imageUrl",
          "_id",
          "locationId",
          "marketplaceAppId",
          "deleted",
          "createdAt",
          "updatedAt"
        ]
      },
      "payments_v3_DeleteCustomProvidersConfigDto": {
        "type": "object",
        "properties": {
          "liveMode": {
            "type": "boolean",
            "description": "Whether the config is for test mode or live mode. true represents config is for live payments",
            "example": "true"
          }
        },
        "required": [
          "liveMode"
        ]
      },
      "payments_v3_DisconnectCustomProvidersResponseSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the custom provider config is disconnect or not. true represents config is disconnect",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "payments_v3_UpdateCustomProviderCapabilitiesDto": {
        "type": "object",
        "properties": {
          "supportsSubscriptionSchedules": {
            "type": "boolean",
            "description": "Whether the marketplace app supports subscription schedules or not",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company id. Mandatory if locationId is not provided",
            "example": "Yjnwuduw83e8x30sm0"
          },
          "locationId": {
            "type": "string",
            "description": "Location / Sub-account id. Mandatory if companyId is not provided",
            "example": "Yjnwuduw83e8x30sm0"
          }
        },
        "required": [
          "supportsSubscriptionSchedules"
        ]
      },
      "payments_v3_UpdateCustomProviderCapabilitiesResponseSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the custom provider capabilities are updated or not. true represents capabilities are updated",
            "example": "true"
          }
        },
        "required": [
          "success"
        ]
      },
      "phone_system_v3_PurchasePhoneNumberBodyDto": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "phoneNumber to purchase",
            "example": "830236932"
          },
          "addressSid": {
            "type": "string",
            "description": "addressSid twilio address id",
            "example": "ADXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
          },
          "bundleSid": {
            "type": "string",
            "description": "bundleSid twilio bundle id",
            "example": "BUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
          },
          "countryCode": {
            "type": "string",
            "description": "country for which the phone numbers are being requested",
            "example": "US"
          },
          "numberType": {
            "type": "object",
            "description": "type of phone number to be purchased",
            "example": "local"
          },
          "paymentIntentId": {
            "type": "string",
            "description": "stripe payment intent id",
            "example": "pi_3Oxxxxxxxxxxxxxxxxxxxx"
          },
          "stripeAccountId": {
            "type": "string",
            "description": "stripe account id",
            "example": "acct_1Oxxxxxxxxxxxxxxxx"
          },
          "paymentMethodId": {
            "type": "string",
            "description": "stripe registered payment method id",
            "example": "pm_1Oxxxxxxxxxxxxxxxx"
          },
          "locality": {
            "type": "string",
            "description": "locality of the user in which number is being purchased",
            "example": "Austin"
          },
          "region": {
            "type": "string",
            "description": "region of the user in which number is being purchased",
            "example": "TX"
          },
          "fingerprintId": {
            "type": "string",
            "description": "fingerprintId is request id which is unique for every purchase number request",
            "example": "purchase-req-abc-123"
          },
          "skipLocationKYC": {
            "type": "boolean",
            "description": "Skip location-level KYC verification if agency-level compliance has already been verified",
            "example": false
          }
        },
        "required": [
          "phoneNumber",
          "addressSid",
          "bundleSid",
          "countryCode",
          "numberType",
          "paymentIntentId",
          "stripeAccountId",
          "paymentMethodId",
          "locality",
          "region",
          "fingerprintId",
          "skipLocationKYC"
        ]
      },
      "phone_system_v3_PurchaseNumberForLocationV3ResponseDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "E.164 phone number that was purchased (from the request body)",
            "example": "+17745678902"
          },
          "locationId": {
            "type": "string",
            "description": "Location that owns the Twilio / numbers account",
            "example": "tDtDnQdgm2LXpyiqYvZ6"
          },
          "id": {
            "type": "string",
            "description": "Twilio account document identifier",
            "example": "twilio-account-123"
          },
          "underCrmAccount": {
            "type": "boolean",
            "description": "Whether the account is managed under LC. Renamed from under_crm_account in the legacy document.",
            "example": false
          }
        },
        "required": [
          "number",
          "locationId",
          "id",
          "underCrmAccount"
        ]
      },
      "phone_system_v3_PurchaseNumberForLocationV3Http201ResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Outcome indicator from the shared success helper.",
            "example": "success",
            "enum": [
              "success"
            ]
          },
          "data": {
            "description": "V3 purchase payload: purchased number, location, Twilio account id, and underCrmAccount.",
            "example": {
              "number": "+17745678902",
              "locationId": "tDtDnQdgm2LXpyiqYvZ6",
              "id": "twilio-account-123",
              "underCrmAccount": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/phone_system_v3_PurchaseNumberForLocationV3ResponseDto"
              }
            ]
          },
          "message": {
            "type": "string",
            "description": "Human-readable success message.",
            "example": "Number purchase successful"
          },
          "statusCode": {
            "type": "number",
            "description": "HTTP status echoed in the response body.",
            "example": 201
          }
        },
        "required": [
          "status",
          "data",
          "message",
          "statusCode"
        ]
      },
      "phone_system_v3_NumberCapabilitiesDto": {
        "type": "object",
        "properties": {
          "voice": {
            "type": "boolean",
            "description": "Whether the number supports voice calls",
            "example": true
          },
          "sms": {
            "type": "boolean",
            "description": "Whether the number supports SMS",
            "example": true
          },
          "mms": {
            "type": "boolean",
            "description": "Whether the number supports MMS",
            "example": true
          },
          "fax": {
            "type": "boolean",
            "description": "Whether the number supports fax",
            "example": false
          }
        }
      },
      "phone_system_v3_ListNumberItemResponseDto": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "Phone number in E.164 format",
            "example": "+17745678902"
          },
          "friendlyName": {
            "type": "string",
            "description": "Human-friendly label for the number",
            "example": "Main line"
          },
          "sid": {
            "type": "string",
            "description": "Provider number identifier",
            "example": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
          },
          "countryCode": {
            "type": "string",
            "description": "ISO country code for the number",
            "example": "US"
          },
          "capabilities": {
            "description": "Phone number capabilities",
            "example": {
              "voice": true,
              "sms": true,
              "mms": true,
              "fax": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/phone_system_v3_NumberCapabilitiesDto"
              }
            ]
          },
          "type": {
            "type": "string",
            "description": "Phone number type",
            "example": "local"
          },
          "isDefaultNumber": {
            "type": "boolean",
            "description": "Whether this is the default outbound number",
            "example": true
          },
          "linkedUser": {
            "type": "string",
            "description": "Linked user ID if the number is assigned",
            "example": "user-123",
            "nullable": true
          },
          "linkedRingAllUsers": {
            "description": "Ring-all user IDs linked to the number",
            "example": [
              "user-123",
              "user-456"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inboundCallService": {
            "type": "object",
            "description": "Inbound call service metadata",
            "additionalProperties": true,
            "example": {
              "type": "ivr",
              "value": "flow-123"
            }
          },
          "forwardingNumber": {
            "type": "string",
            "description": "Forwarding number in E.164 format",
            "example": "+17745678903"
          },
          "isGroupConversationEnabled": {
            "type": "boolean",
            "description": "Whether group conversations are enabled",
            "example": true
          },
          "addressSid": {
            "type": "string",
            "description": "Address SID used for regulated number purchases",
            "example": "ADXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
          },
          "bundleSid": {
            "type": "string",
            "description": "Bundle SID used for regulated number purchases",
            "example": "BUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
          },
          "dateAdded": {
            "type": "object",
            "description": "Date the number was added",
            "example": "2024-01-01T00:00:00.000Z"
          },
          "dateUpdated": {
            "type": "object",
            "description": "Date the number was last updated",
            "example": "2024-01-01T00:00:00.000Z"
          },
          "dateCreated": {
            "type": "object",
            "description": "Legacy created-at field returned by some providers",
            "example": "2024-01-01T00:00:00.000Z"
          },
          "origin": {
            "type": "string",
            "description": "Provider origin for the number",
            "example": "twilio"
          }
        },
        "required": [
          "phoneNumber"
        ]
      },
      "phone_system_v3_RcsSenderIdResponseDto": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "RCS sender ID",
            "example": "rcs-sender-id"
          },
          "numberType": {
            "type": "string",
            "description": "Entry type",
            "example": "rcsSenderId"
          },
          "friendlyName": {
            "type": "string",
            "description": "Human-friendly label for the sender ID",
            "example": "Brand Sender"
          },
          "rcsMeta": {
            "type": "object",
            "description": "RCS sender metadata",
            "additionalProperties": true,
            "example": {
              "brandId": "brand-123"
            }
          }
        },
        "required": [
          "number",
          "numberType"
        ]
      },
      "phone_system_v3_ListNumbersV3ResponseDto": {
        "type": "object",
        "properties": {
          "numbers": {
            "description": "Active numbers available for the location",
            "example": [
              {
                "phoneNumber": "+17745678902",
                "friendlyName": "Main line",
                "sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                "countryCode": "US",
                "capabilities": {
                  "voice": true,
                  "sms": true,
                  "mms": true,
                  "fax": false
                },
                "type": "local",
                "isDefaultNumber": true
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/phone_system_v3_ListNumberItemResponseDto"
            }
          },
          "isUnderCrm": {
            "type": "boolean",
            "description": "Whether the account is managed under LC. Renamed from isUnderCrm.",
            "example": true
          },
          "pageSize": {
            "type": "number",
            "description": "The page size requested",
            "example": 50
          },
          "page": {
            "type": "number",
            "description": "The zero-based page index requested",
            "example": 0
          },
          "accountStatus": {
            "type": "string",
            "description": "Twilio account status for the location",
            "example": "active"
          },
          "rcsSenderIds": {
            "description": "Optional RCS sender IDs returned with the number list",
            "example": [
              {
                "number": "rcs-sender-id",
                "numberType": "rcsSenderId",
                "friendlyName": "Brand Sender",
                "rcsMeta": {
                  "brandId": "brand-123"
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/phone_system_v3_RcsSenderIdResponseDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of active numbers when available",
            "example": 2
          }
        },
        "required": [
          "numbers"
        ]
      },
      "phone_system_v3_ListNumbersV3Http200ResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Outcome indicator from the shared success helper.",
            "example": "success",
            "enum": [
              "success"
            ]
          },
          "data": {
            "description": "V3 list payload: numbers, pagination fields, isUnderCrm (renamed from isUnderCrm), etc.",
            "example": {
              "numbers": [
                {
                  "phoneNumber": "+17745678902",
                  "friendlyName": "Main line",
                  "countryCode": "US"
                }
              ],
              "isUnderCrm": true,
              "pageSize": 50,
              "page": 0,
              "accountStatus": "active",
              "total": 1
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/phone_system_v3_ListNumbersV3ResponseDto"
              }
            ]
          },
          "message": {
            "type": "string",
            "description": "Human-readable success message.",
            "example": "OK"
          },
          "statusCode": {
            "type": "number",
            "description": "HTTP status echoed in the response body.",
            "example": 200
          }
        },
        "required": [
          "status",
          "data",
          "message",
          "statusCode"
        ]
      },
      "products_v3_BulkUpdateFilters": {
        "type": "object",
        "properties": {
          "collectionIds": {
            "description": "Filter by collection IDs",
            "example": [
              "5f8d0d55b54764421b7156c1",
              "5f8d0d55b54764421b7156c2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "productType": {
            "type": "string",
            "description": "Filter by product type",
            "example": "one-time"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Filter by availability status",
            "example": true
          },
          "search": {
            "type": "string",
            "description": "Filter by search term",
            "example": "blue t-shirt"
          }
        }
      },
      "products_v3_PriceUpdateField": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "INCREASE_BY_AMOUNT",
              "REDUCE_BY_AMOUNT",
              "SET_NEW_PRICE",
              "INCREASE_BY_PERCENTAGE",
              "REDUCE_BY_PERCENTAGE"
            ],
            "description": "Type of price update",
            "example": "INCREASE_BY_AMOUNT"
          },
          "value": {
            "type": "number",
            "example": 100,
            "description": "Value to update (amount or percentage based on type)"
          },
          "roundToWhole": {
            "type": "boolean",
            "description": "Round to nearest whole number",
            "example": true
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "products_v3_BulkUpdateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "bulk-update-price",
              "bulk-update-availability",
              "bulk-update-product-collection",
              "bulk-delete-products",
              "bulk-update-currency"
            ],
            "description": "Type of bulk update operation",
            "example": "bulk-update-price"
          },
          "productIds": {
            "example": [
              "5f8d0d55b54764421b7156c1"
            ],
            "description": "Array of product IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filters": {
            "description": "Filters to apply when selectAll is true",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_BulkUpdateFilters"
              }
            ]
          },
          "price": {
            "description": "Price update configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_PriceUpdateField"
              }
            ]
          },
          "compareAtPrice": {
            "description": "Compare at price update configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_PriceUpdateField"
              }
            ]
          },
          "availability": {
            "type": "boolean",
            "description": "New availability status"
          },
          "collectionIds": {
            "description": "Array of collection IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          }
        },
        "required": [
          "altId",
          "altType",
          "type",
          "productIds"
        ]
      },
      "products_v3_BulkUpdateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_WeightOptionsDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Actual weight of the product",
            "example": 10
          },
          "unit": {
            "type": "string",
            "description": "Weight unit of the product",
            "example": "kg",
            "enum": [
              "kg",
              "lb",
              "g",
              "oz"
            ]
          }
        },
        "required": [
          "value",
          "unit"
        ]
      },
      "products_v3_PriceDimensionsDto": {
        "type": "object",
        "properties": {
          "height": {
            "type": "number",
            "description": "Height of the price",
            "example": 10
          },
          "width": {
            "type": "number",
            "description": "Width of the price",
            "example": 10
          },
          "length": {
            "type": "number",
            "description": "Length of the price",
            "example": 10
          },
          "unit": {
            "type": "string",
            "description": "Unit of the price dimensions",
            "example": "cm",
            "enum": [
              "cm",
              "in",
              "m"
            ]
          }
        },
        "required": [
          "height",
          "width",
          "length",
          "unit"
        ]
      },
      "products_v3_ShippingOptionsDto": {
        "type": "object",
        "properties": {
          "weight": {
            "description": "Weight options of the product",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_WeightOptionsDto"
              }
            ]
          },
          "dimensions": {
            "description": "Dimensions of the product",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_PriceDimensionsDto"
              }
            ]
          }
        }
      },
      "products_v3_RecurringDto": {
        "type": "object",
        "properties": {
          "interval": {
            "type": "string",
            "description": "The interval at which the recurring event occurs.",
            "example": "day",
            "enum": [
              "day",
              "month",
              "week",
              "year"
            ]
          },
          "intervalCount": {
            "type": "number",
            "description": "The number of intervals between each occurrence of the event.",
            "example": 1
          }
        },
        "required": [
          "interval",
          "intervalCount"
        ]
      },
      "products_v3_BulkEditPriceDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Price ID",
            "example": "64a1b2c3d4e5f67890123456"
          },
          "name": {
            "type": "string",
            "description": "Price name",
            "example": "Standard Plan"
          },
          "amount": {
            "type": "number",
            "description": "Price amount",
            "example": 99.99
          },
          "currency": {
            "type": "string",
            "description": "Price currency",
            "example": "USD"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "Compare at price",
            "example": 129.99
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available quantity",
            "example": 100
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Track inventory",
            "example": true
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Allow out of stock purchases",
            "example": false
          },
          "sku": {
            "type": "string",
            "description": "SKU",
            "example": "SKU-001"
          },
          "trialPeriod": {
            "type": "number",
            "description": "Trial period in days",
            "example": 7
          },
          "totalCycles": {
            "type": "number",
            "description": "Total billing cycles",
            "example": 12
          },
          "setupFee": {
            "type": "number",
            "description": "Setup fee",
            "example": 25
          },
          "shippingOptions": {
            "description": "Shipping options",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ShippingOptionsDto"
              }
            ]
          },
          "recurring": {
            "description": "Recurring details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          }
        },
        "required": [
          "_id"
        ]
      },
      "products_v3_ProductSEODto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "SEO title",
            "example": "Best Product - Buy Now"
          },
          "description": {
            "type": "string",
            "description": "SEO description",
            "example": "This is the best product you can buy online with amazing features and great value"
          }
        }
      },
      "products_v3_BulkEditProductDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Product ID",
            "example": "64a1b2c3d4e5f67890123456"
          },
          "name": {
            "type": "string",
            "description": "Product name",
            "example": "Premium Product"
          },
          "description": {
            "type": "string",
            "description": "Product description",
            "example": "A high-quality premium product with excellent features and durability"
          },
          "image": {
            "type": "string",
            "description": "Product image",
            "example": "https://example.com/product-image.jpg"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Product availability in store",
            "example": true
          },
          "prices": {
            "description": "Array of price variants for the product",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_BulkEditPriceDto"
            }
          },
          "collectionIds": {
            "description": "Collection IDs",
            "example": [
              "64a1b2c3d4e5f67890123458",
              "64a1b2c3d4e5f67890123459"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isLabelEnabled": {
            "type": "boolean",
            "description": "Enable product label",
            "example": true
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "Enable taxes",
            "example": true
          },
          "seo": {
            "description": "SEO metadata for the product",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductSEODto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "Product URL slug",
            "example": "premium-product"
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Automatic tax category ID",
            "example": "64a1b2c3d4e5f67890123460"
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "Tax inclusive pricing",
            "example": false
          },
          "taxes": {
            "description": "Product taxes",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "medias": {
            "description": "Product media",
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "label": {
            "type": "object",
            "description": "Product label"
          }
        },
        "required": [
          "_id"
        ]
      },
      "products_v3_BulkEditRequestDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "products": {
            "description": "Array of products to update. Note: The total count includes all prices within each product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_BulkEditProductDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "products"
        ]
      },
      "products_v3_BulkEditResponseDto": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Products updated successfully",
            "description": "Success message"
          },
          "status": {
            "type": "boolean",
            "example": true,
            "description": "Operation status"
          },
          "updatedCount": {
            "type": "number",
            "example": 5,
            "description": "Number of products updated"
          }
        },
        "required": [
          "message",
          "status",
          "updatedCount"
        ]
      },
      "products_v3_MembershipOfferDto": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Membership offer label",
            "example": "top_50"
          },
          "value": {
            "type": "string",
            "description": "Membership offer label",
            "example": "50"
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the membership offer.",
            "example": "655b33aa2209e60b6adb87a7"
          }
        },
        "required": [
          "label",
          "value",
          "_id"
        ]
      },
      "products_v3_PriceMetaDto": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "description": "The source of the price.",
            "enum": [
              "stripe",
              "woocommerce",
              "shopify"
            ],
            "example": "stripe"
          },
          "sourceId": {
            "type": "string",
            "description": "The id of the source of the price from where it is imported",
            "example": "123"
          },
          "stripePriceId": {
            "type": "string",
            "description": "The Stripe price ID associated with the price.",
            "example": "price_123"
          },
          "internalSource": {
            "type": "string",
            "description": "The internal source of the price.",
            "enum": [
              "agency_plan",
              "funnel",
              "membership",
              "communities",
              "gokollab",
              "calendar"
            ],
            "example": "agency_plan"
          }
        },
        "required": [
          "source",
          "stripePriceId",
          "internalSource"
        ]
      },
      "products_v3_CreatePriceDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Price Name"
          },
          "type": {
            "type": "string",
            "description": "The type of the price.",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency of the price.",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price. ( min: 0 )",
            "example": 99.99
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "A brief description of the price."
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_MembershipOfferDto"
            }
          },
          "trialPeriod": {
            "type": "number",
            "description": "The trial period duration in days (if applicable).",
            "example": 7
          },
          "totalCycles": {
            "type": "number",
            "description": "The total number of billing cycles for the price. ( min: 1 )",
            "example": 12
          },
          "setupFee": {
            "type": "number",
            "description": "The setup fee for the price.",
            "example": 10.99
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "option_id_1",
              "option_id_2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare at price for the price.",
            "example": 19.99
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier of the location associated with the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier of the user who created the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "meta": {
            "description": "Additional metadata associated with the price.",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_PriceMetaDto"
              }
            ]
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Need to track inventory stock quantity",
            "example": true
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          },
          "sku": {
            "type": "string",
            "description": "The unique identifier of the SKU associated with the price",
            "example": "sku_123"
          },
          "shippingOptions": {
            "description": "Shipping options of the Price",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ShippingOptionsDto"
              }
            ]
          },
          "isDigitalProduct": {
            "type": "boolean",
            "description": "Is the product a digital product",
            "example": true
          },
          "digitalDelivery": {
            "description": "Digital delivery options",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "type",
          "currency",
          "amount",
          "locationId"
        ]
      },
      "products_v3_CreatePriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_v3_DefaultPriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_v3_ListPricesResponseDto": {
        "type": "object",
        "properties": {
          "prices": {
            "description": "An array of prices",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_DefaultPriceResponseDto"
            }
          },
          "total": {
            "type": "number",
            "default": "Total number of prices available",
            "example": 10
          }
        },
        "required": [
          "prices",
          "total"
        ]
      },
      "products_v3_InventoryItemDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price",
            "example": "6241712be68f7a98102ba272"
          },
          "name": {
            "type": "string",
            "description": "Name of the price/variant",
            "example": "Medium T-shirt"
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available quantity in inventory",
            "example": 50
          },
          "sku": {
            "type": "string",
            "description": "SKU for the product variant",
            "example": "TSHIRT-MED-001"
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Whether out of stock purchases are allowed",
            "example": false
          },
          "product": {
            "type": "string",
            "description": "Product ID this price belongs to",
            "example": "6241712be68f7a98102ba270"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "image": {
            "type": "string",
            "description": "Product image URL",
            "example": "https://example.com/images/product.jpg"
          },
          "productName": {
            "type": "string",
            "description": "Product name",
            "example": "T-shirt"
          }
        },
        "required": [
          "_id",
          "name",
          "availableQuantity",
          "sku",
          "allowOutOfStockPurchases",
          "product",
          "updatedAt"
        ]
      },
      "products_v3_GetInventoryResponseDto": {
        "type": "object",
        "properties": {
          "inventory": {
            "description": "List of inventory items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_InventoryItemDto"
            }
          },
          "total": {
            "type": "object",
            "description": "Total count of inventory items",
            "example": {
              "total": 100
            }
          }
        },
        "required": [
          "inventory",
          "total"
        ]
      },
      "products_v3_UpdateInventoryItemDto": {
        "type": "object",
        "properties": {
          "priceId": {
            "type": "string",
            "description": "The unique identifier for the price, in MongoDB ID format.",
            "example": "5e9f8f8f8f8f8f8f8f8f8f8"
          },
          "availableQuantity": {
            "type": "number",
            "description": "The available quantity of the item.",
            "example": 10
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Whether to continue selling the item when out of stock.",
            "example": false
          }
        },
        "required": [
          "priceId"
        ]
      },
      "products_v3_UpdateInventoryDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "items": {
            "description": "Array of items to update in the inventory.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_UpdateInventoryItemDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "items"
        ]
      },
      "products_v3_UpdateInventoryResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_GetPriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_v3_UpdatePriceDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Price Name"
          },
          "type": {
            "type": "string",
            "description": "The type of the price.",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency of the price.",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price. ( min: 0 )",
            "example": 99.99
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          },
          "description": {
            "type": "string",
            "description": "A brief description of the price."
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_MembershipOfferDto"
            }
          },
          "trialPeriod": {
            "type": "number",
            "description": "The trial period duration in days (if applicable).",
            "example": 7
          },
          "totalCycles": {
            "type": "number",
            "description": "The total number of billing cycles for the price. ( min: 1 )",
            "example": 12
          },
          "setupFee": {
            "type": "number",
            "description": "The setup fee for the price.",
            "example": 10.99
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "option_id_1",
              "option_id_2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare at price for the price.",
            "example": 19.99
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier of the location associated with the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier of the user who created the price.",
            "example": "6578278e879ad2646715ba9c"
          },
          "meta": {
            "description": "Additional metadata associated with the price.",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_PriceMetaDto"
              }
            ]
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Need to track inventory stock quantity",
            "example": true
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          },
          "sku": {
            "type": "string",
            "description": "The unique identifier of the SKU associated with the price",
            "example": "sku_123"
          },
          "shippingOptions": {
            "description": "Shipping options of the Price",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ShippingOptionsDto"
              }
            ]
          },
          "isDigitalProduct": {
            "type": "boolean",
            "description": "Is the product a digital product",
            "example": true
          },
          "digitalDelivery": {
            "description": "Digital delivery options",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "type",
          "currency",
          "amount",
          "locationId"
        ]
      },
      "products_v3_UpdatePriceResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the price.",
            "example": "655b33aa2209e60b6adb87a7"
          },
          "membershipOffers": {
            "description": "An array of membership offers associated with the price.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_MembershipOfferDto"
            }
          },
          "variantOptionIds": {
            "description": "An array of variant option IDs associated with the price.",
            "example": [
              "h4z7u0im2q8",
              "h3nst2ltsnn"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "product": {
            "type": "string",
            "description": "The unique identifier for the associated product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier for the user.",
            "example": "6YAtzfzpmHAdj0e8GkKp"
          },
          "name": {
            "type": "string",
            "description": "The name of the price.",
            "example": "Red / S"
          },
          "type": {
            "type": "string",
            "description": "The type of the price (e.g., one_time).",
            "example": "one_time",
            "enum": [
              "one_time",
              "recurring"
            ]
          },
          "currency": {
            "type": "string",
            "description": "The currency code for the price.",
            "example": "INR"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the price.",
            "example": 199999
          },
          "recurring": {
            "description": "The recurring details of the price (if type is recurring).",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_RecurringDto"
              }
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the price.",
            "example": "2023-11-20T10:23:38.645Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the price.",
            "example": "2024-01-23T09:57:04.852Z"
          },
          "compareAtPrice": {
            "type": "number",
            "description": "The compare-at price for comparison purposes.",
            "example": 2000000
          },
          "trackInventory": {
            "type": "boolean",
            "description": "Indicates whether inventory tracking is enabled.",
            "example": null
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available inventory stock quantity",
            "example": 5
          },
          "allowOutOfStockPurchases": {
            "type": "boolean",
            "description": "Continue selling when out of stock",
            "example": true
          }
        },
        "required": [
          "_id",
          "name",
          "type",
          "currency",
          "amount"
        ]
      },
      "products_v3_DeletePriceResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "returns true if the price is successfully deleted",
            "example": true
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_GetProductStatsResponseDto": {
        "type": "object",
        "properties": {
          "totalProducts": {
            "type": "number",
            "description": "Total number of products",
            "example": 100
          },
          "includedInStore": {
            "type": "number",
            "description": "Number of products included in the store",
            "example": 80
          },
          "excludedFromStore": {
            "type": "number",
            "description": "Number of products excluded from the store",
            "example": 20
          }
        },
        "required": [
          "totalProducts",
          "includedInStore",
          "excludedFromStore"
        ]
      },
      "products_v3_UpdateProductStoreDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "action": {
            "type": "string",
            "description": "Action to include or exclude the product from the store",
            "example": "include",
            "enum": [
              "include",
              "exclude"
            ]
          },
          "productIds": {
            "description": "Array of product IDs",
            "example": [
              "productId1",
              "productId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "action",
          "productIds"
        ]
      },
      "products_v3_UpdateProductStoreResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_UpdateDisplayPriorityBodyDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "products": {
            "description": "Array of products with their display priorities",
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "altId",
          "altType",
          "products"
        ]
      },
      "products_v3_ListCollectionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of Collections",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "total": {
            "type": "number",
            "description": "The total count of the collections present, which is useful to calculate the pagination"
          }
        },
        "required": [
          "data",
          "total"
        ]
      },
      "products_v3_ProductCategories": {
        "type": "object",
        "properties": {}
      },
      "products_v3_DefaultCollectionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Collection Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductCategories"
              }
            ]
          },
          "status": {
            "type": "boolean",
            "description": "Status of the operation",
            "example": true
          }
        },
        "required": [
          "data",
          "status"
        ]
      },
      "products_v3_CollectionSEODto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The title which will be displayed as an SEO format",
            "example": "Best Sellers"
          },
          "description": {
            "type": "string",
            "description": "The description which would be displayed in preview purposes",
            "example": "Collections where all the best products are available"
          }
        }
      },
      "products_v3_CreateProductCollectionsDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "The type of alt. For now it is only LOCATION",
            "enum": [
              "location"
            ],
            "example": "LOCATION"
          },
          "collectionId": {
            "type": "string",
            "description": "Unique Identifier of the Product Collection, Mongo Id",
            "example": "66057f9d28536eae584ec047"
          },
          "name": {
            "type": "string",
            "description": "Name of the Product Collection",
            "example": "Best Sellers"
          },
          "slug": {
            "type": "string",
            "description": "Slug of the Product Collection which helps in navigation",
            "example": "best-sellers"
          },
          "image": {
            "type": "string",
            "description": "The URL of the image that is going to be displayed as the collection Thumbnail",
            "example": "http://example.com/watermark.png"
          },
          "seo": {
            "description": "The metadata information which will be displayed in SEO previews",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_CollectionSEODto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "slug"
        ]
      },
      "products_v3_CollectionSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the collection",
            "example": "655b33a82209e60b6adb87a5"
          },
          "altId": {
            "type": "string",
            "description": "Location Id to which the collection is associated",
            "example": "Z4Bxl8J4SaPEPLq9IQ8g"
          },
          "name": {
            "type": "string",
            "description": "Name of the collection",
            "example": "Best Sellers"
          },
          "slug": {
            "type": "string",
            "description": "Slug of the collection with which navigation is established. Special Characters and spacing is not allowed and should be unique",
            "example": "best-sellers"
          },
          "image": {
            "type": "string",
            "description": "The URL of the image that is going to be displayed as the collection Thumbnail",
            "example": "http://example.com/watermark.png"
          },
          "seo": {
            "description": "The information which will be displayed in SEO previews",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_CollectionSEODto"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Date at which the collection was created",
            "example": "2024-02-22T09:27:19.728Z"
          }
        },
        "required": [
          "_id",
          "altId",
          "name",
          "slug",
          "image",
          "seo",
          "createdAt"
        ]
      },
      "products_v3_CreateCollectionResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "created Collection",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_CollectionSchema"
              }
            ]
          }
        },
        "required": [
          "data"
        ]
      },
      "products_v3_UpdateProductCollectionsDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "description": "The type of alt. For now it is only LOCATION",
            "enum": [
              "location"
            ],
            "example": "LOCATION"
          },
          "name": {
            "type": "string",
            "description": "Name of the Product Collection",
            "example": "Best Sellers"
          },
          "slug": {
            "type": "string",
            "description": "Slug of the Product Collection which helps in navigation",
            "example": "best-sellers"
          },
          "image": {
            "type": "string",
            "description": "The URL of the image that is going to be displayed as the collection Thumbnail",
            "example": "http://example.com/watermark.png"
          },
          "seo": {
            "description": "The metadata information which will be displayed in SEO previews",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_CollectionSEODto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType"
        ]
      },
      "products_v3_UpdateProductCollectionResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_DeleteProductCollectionResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_ListProductReviewsResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of Collections",
            "items": {
              "type": "array"
            },
            "type": "array"
          },
          "total": {
            "type": "number",
            "description": "The total count of the collections present, which is useful to calculate the pagination"
          }
        },
        "required": [
          "data",
          "total"
        ]
      },
      "products_v3_CountReviewsByStatusResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of review status counts",
            "items": {
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ]
      },
      "products_v3_UserDetailsDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the customer",
            "example": "John Doe",
            "minLength": 1,
            "maxLength": 100
          },
          "email": {
            "type": "string",
            "description": "Email of the customer",
            "example": "example@example.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone no of the customer",
            "example": "+1-555-555-5555"
          },
          "isCustomer": {
            "type": "boolean",
            "description": "Is the person an admin or customer",
            "example": true
          }
        },
        "required": [
          "name",
          "email"
        ]
      },
      "products_v3_ProductReviewDto": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string",
            "description": "Headline of the Review",
            "example": "Amazing product with great quality",
            "minLength": 0,
            "maxLength": 200
          },
          "comment": {
            "type": "string",
            "description": "Detailed Review of the product",
            "example": "This product exceeded my expectations in terms of quality and performance. Highly recommended!",
            "minLength": 0,
            "maxLength": 5000
          },
          "user": {
            "description": "User who is giving the review/reply",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_UserDetailsDto"
              }
            ]
          }
        },
        "required": [
          "headline",
          "comment",
          "user"
        ]
      },
      "products_v3_UpdateProductReviewDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "status": {
            "type": "string",
            "description": "Status of the review",
            "example": "approved"
          },
          "reply": {
            "description": "Reply of the review",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductReviewDto"
            }
          },
          "rating": {
            "type": "number",
            "description": "Rating of the product",
            "example": "4.5"
          },
          "headline": {
            "type": "string",
            "description": "Headline of the Review",
            "example": "Amazing product with great quality"
          },
          "detail": {
            "type": "string",
            "description": "Detailed Review of the product",
            "example": "The product is for sure a must and recommended buy"
          }
        },
        "required": [
          "altId",
          "altType",
          "productId",
          "status"
        ]
      },
      "products_v3_UpdateProductReviewsResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_UpdateProductReviewObjectDto": {
        "type": "object",
        "properties": {
          "reviewId": {
            "type": "string",
            "description": "Review Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "productId": {
            "type": "string",
            "description": "Product Id",
            "example": "6578278e879ad2646715ba9d"
          },
          "storeId": {
            "type": "string",
            "description": "Store Id",
            "example": "a1b2c3d4e5f6g7h8i9j0k1l2"
          }
        },
        "required": [
          "reviewId",
          "productId",
          "storeId"
        ]
      },
      "products_v3_UpdateProductReviewsDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "reviews": {
            "description": "Array of Product Reviews",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_UpdateProductReviewObjectDto"
            }
          },
          "status": {
            "type": "object",
            "description": "Status of the review",
            "example": "approved"
          }
        },
        "required": [
          "altId",
          "altType",
          "reviews",
          "status"
        ]
      },
      "products_v3_DeleteProductReviewResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_ProductVariantOptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the option.",
            "example": "h4z7u0im2q8"
          },
          "name": {
            "type": "string",
            "description": "The name of the option.",
            "example": "XL"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "products_v3_ProductVariantDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the variant.",
            "example": "38s63qmxfr4"
          },
          "name": {
            "type": "string",
            "description": "The name of the variant.",
            "example": "Size"
          },
          "options": {
            "description": "An array of options for the variant.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantOptionDto"
            }
          }
        },
        "required": [
          "id",
          "name",
          "options"
        ]
      },
      "products_v3_ProductLabelDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "The content for the product label.",
            "example": "Featured"
          },
          "startDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-26T05:43:35.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "Start date in YYYY-MM-DDTHH:mm:ssZ format",
            "example": "2024-06-30T05:43:39.000Z"
          }
        },
        "required": [
          "title"
        ]
      },
      "products_v3_GetProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_v3_DeleteProductResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "returns true if the product is successfully deleted",
            "example": true
          }
        },
        "required": [
          "status"
        ]
      },
      "products_v3_ProductMediaDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the media.",
            "example": "fzrgusiuu0m"
          },
          "title": {
            "type": "string",
            "description": "The title of the media file.",
            "example": "1dd7dcd0-e71d-4cf7-a06b-6d47723d6a29.png"
          },
          "url": {
            "type": "string",
            "description": "The URL where the media file is stored.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/sample.png"
          },
          "type": {
            "type": "string",
            "description": "The type of the media file (e.g., image, video will be supporting soon).",
            "example": "image",
            "enum": [
              "image",
              "video"
            ]
          },
          "isFeatured": {
            "type": "boolean",
            "description": "Indicates whether the media is featured.",
            "example": true
          },
          "priceIds": {
            "description": "Mongo ObjectIds of the prices for which the media is assigned",
            "example": "6578278e879ad2646715ba9c",
            "type": "array",
            "items": {
              "type": "array"
            }
          }
        },
        "required": [
          "id",
          "url",
          "type"
        ]
      },
      "products_v3_CreateProductDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "description": {
            "type": "string",
            "description": "A brief description of the product.",
            "example": "Product description goes here."
          },
          "productType": {
            "type": "string",
            "enum": [
              "DIGITAL",
              "PHYSICAL",
              "SERVICE",
              "PHYSICAL/DIGITAL"
            ]
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "medias": {
            "description": "An array of medias for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductMediaDto"
            }
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantDto"
            }
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "Are there any taxes attached to the product. If this is true, taxes array cannot be empty.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "List of ids of Taxes attached to the Product. If taxes are passed, isTaxesEnabled should be true.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "isLabelEnabled": {
            "type": "boolean",
            "description": "Is the product label enabled. If this is true, label object cannot be empty.",
            "example": true,
            "default": false
          },
          "label": {
            "description": "Details for Product Label",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug using which the product navigation will be handled",
            "example": "awesome-product"
          },
          "seo": {
            "description": "SEO data for the product that will be displayed in the preview",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductSEODto"
              }
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "Whether the taxes should be included in the purchase price",
            "example": true,
            "default": false
          }
        },
        "required": [
          "name",
          "locationId",
          "productType"
        ]
      },
      "products_v3_CreateProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_v3_UpdateProductDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "description": {
            "type": "string",
            "description": "A brief description of the product.",
            "example": "Product description goes here."
          },
          "productType": {
            "type": "string",
            "enum": [
              "DIGITAL",
              "PHYSICAL",
              "SERVICE",
              "PHYSICAL/DIGITAL"
            ]
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "medias": {
            "description": "An array of medias for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductMediaDto"
            }
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantDto"
            }
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "Are there any taxes attached to the product. If this is true, taxes array cannot be empty.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "List of ids of Taxes attached to the Product. If taxes are passed, isTaxesEnabled should be true.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "isLabelEnabled": {
            "type": "boolean",
            "description": "Is the product label enabled. If this is true, label object cannot be empty.",
            "example": true,
            "default": false
          },
          "label": {
            "description": "Details for Product Label",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug using which the product navigation will be handled",
            "example": "awesome-product"
          },
          "seo": {
            "description": "SEO data for the product that will be displayed in the preview",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductSEODto"
              }
            ]
          },
          "taxInclusive": {
            "type": "boolean",
            "description": "Whether the taxes should be included in the purchase price",
            "example": true,
            "default": false
          },
          "prices": {
            "description": "The prices of the product",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "locationId",
          "productType"
        ]
      },
      "products_v3_UpdateProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_v3_DefaultProductResponseDto": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "description": {
            "type": "string",
            "description": "product description",
            "example": "This is a really awesome product"
          },
          "variants": {
            "description": "An array of variants for the product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ProductVariantDto"
            }
          },
          "locationId": {
            "type": "string",
            "description": "The unique identifier for the location.",
            "example": "3SwdhCsvxI8Au3KsPJt6"
          },
          "name": {
            "type": "string",
            "description": "The name of the product.",
            "example": "Awesome Product"
          },
          "productType": {
            "type": "string",
            "description": "The type of the product (e.g., PHYSICAL).",
            "example": "PHYSICAL"
          },
          "availableInStore": {
            "type": "boolean",
            "description": "Indicates whether the product is available in-store.",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "The creation timestamp of the product.",
            "example": "2023-11-20T10:23:36.515Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "The last update timestamp of the product.",
            "example": "2024-01-23T09:57:04.846Z"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "The statement descriptor for the product.",
            "example": "abcde"
          },
          "image": {
            "type": "string",
            "description": "The URL for the product image.",
            "example": "https://storage.googleapis.com/crm-media/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
          },
          "collectionIds": {
            "description": "An array of category Ids for the product",
            "example": [
              "65d71377c326ea78e1c47df5",
              "65d71377c326ea78e1c47d34"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isTaxesEnabled": {
            "type": "boolean",
            "description": "The field indicates whether taxes are enabled for the product or not.",
            "example": true,
            "default": false
          },
          "taxes": {
            "description": "An array of ids of Taxes attached to the Product. If the expand query includes tax, the taxes will be of type `ProductTaxDto`. Please refer to the `ProductTaxDto` for additional details.",
            "example": [
              "654492a4e6bef380114de15a"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "automaticTaxCategoryId": {
            "type": "string",
            "description": "Tax category ID for Automatic taxes calculation.",
            "example": "65d71377c326ea78e1c47df5"
          },
          "label": {
            "description": "The Product label details",
            "allOf": [
              {
                "$ref": "#/components/schemas/products_v3_ProductLabelDto"
              }
            ]
          },
          "slug": {
            "type": "string",
            "description": "The slug of the product by which the product will be navigated",
            "example": "washing-machine"
          }
        },
        "required": [
          "_id",
          "locationId",
          "name",
          "productType",
          "createdAt",
          "updatedAt"
        ]
      },
      "products_v3_ListProductsStats": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of products",
            "example": 20
          }
        },
        "required": [
          "total"
        ]
      },
      "products_v3_ListProductsResponseDto": {
        "type": "object",
        "properties": {
          "products": {
            "description": "An array of products",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_DefaultProductResponseDto"
            }
          },
          "total": {
            "description": "list products status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/products_v3_ListProductsStats"
            }
          }
        },
        "required": [
          "products",
          "total"
        ]
      },
      "proposals_v3_EntityReference": {
        "type": "string",
        "description": "Entity type",
        "enum": [
          "contacts",
          "users"
        ]
      },
      "proposals_v3_ELEMENTS_LOOKUP": {
        "type": "string",
        "description": "Element type",
        "enum": [
          "Page",
          "Text",
          "Image",
          "Video",
          "Table",
          "ProductList",
          "PageBreak",
          "Signature",
          "PaymentDetails",
          "TextField",
          "DateField",
          "InitialsField",
          "Checkbox",
          "Row",
          "Column"
        ]
      },
      "proposals_v3_FillableFieldsDTO": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string",
            "description": "Field Id",
            "example": "text_field_1"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Is the field required",
            "example": true
          },
          "hasCompleted": {
            "type": "boolean",
            "description": "Has the field been completed",
            "example": true
          },
          "recipient": {
            "type": "string",
            "description": "Recipient",
            "example": "John Doe"
          },
          "entityType": {
            "$ref": "#/components/schemas/proposals_v3_EntityReference"
          },
          "id": {
            "type": "string",
            "description": "Id",
            "example": "2d0a6fe1-d519-4198-8785-3da1d7cab925"
          },
          "type": {
            "$ref": "#/components/schemas/proposals_v3_ELEMENTS_LOOKUP"
          },
          "value": {
            "type": "string",
            "description": "Value of the field",
            "example": "John Doe"
          }
        },
        "required": [
          "fieldId",
          "isRequired",
          "hasCompleted",
          "recipient",
          "entityType",
          "id",
          "type",
          "value"
        ]
      },
      "proposals_v3_DiscountDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "123456",
            "description": "Unique identifier for the discount"
          },
          "value": {
            "type": "number",
            "example": 10,
            "description": "Discount value (either a percentage or custom amount)"
          },
          "type": {
            "type": "string",
            "example": "percentage",
            "enum": [
              "percentage",
              "custom_amount"
            ],
            "description": "Type of discount"
          }
        },
        "required": [
          "id",
          "value",
          "type"
        ]
      },
      "proposals_v3_GrandTotalDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "example": 100,
            "description": "Total amount before discounts"
          },
          "currency": {
            "type": "string",
            "example": "USD",
            "description": "Currency of the total amount"
          },
          "discountPercentage": {
            "type": "number",
            "example": 15,
            "description": "Total discount percentage applied"
          },
          "discounts": {
            "description": "List of applied discounts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_DiscountDto"
            }
          }
        },
        "required": [
          "amount",
          "currency",
          "discountPercentage",
          "discounts"
        ]
      },
      "proposals_v3_RecipientItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Recipient Id",
            "example": "u240JcS0E5qE0ziHnwMm"
          },
          "firstName": {
            "type": "string",
            "description": "Recipient First Name",
            "example": "Jim"
          },
          "lastName": {
            "type": "string",
            "description": "Recipient Last Name",
            "example": "Anton"
          },
          "email": {
            "type": "string",
            "description": "Recipient Email",
            "example": "jim@gmail.com"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Recipient Phone Number",
            "example": "+1234567890"
          },
          "phone": {
            "type": "string",
            "description": "Recipient Phone",
            "example": "1234567890"
          },
          "hasCompleted": {
            "type": "boolean",
            "description": "Recipient has completed the document",
            "example": true
          },
          "role": {
            "type": "string",
            "enum": [
              "user",
              "signer"
            ],
            "description": "Recipient role",
            "example": "signer"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Recipient is primary",
            "example": true
          },
          "signingOrder": {
            "type": "number",
            "description": "Recipient signing order",
            "example": 1
          },
          "imgUrl": {
            "type": "string",
            "description": "Recipient image url",
            "example": "base64 image url"
          },
          "ip": {
            "type": "string",
            "description": "Recipient ip",
            "example": "123.123.123.123"
          },
          "userAgent": {
            "type": "string",
            "description": "Recipient user agent",
            "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
          },
          "signedDate": {
            "type": "string",
            "description": "Recipient signed date",
            "example": "2025-02-03T18:30:00.000Z"
          },
          "contactName": {
            "type": "string",
            "description": "Recipient contact name",
            "example": "Jim Anton"
          },
          "country": {
            "type": "string",
            "description": "Recipient country",
            "example": "United States"
          },
          "entityName": {
            "type": "string",
            "description": "Recipient entity name",
            "example": "Jim Anton"
          },
          "initialsImgUrl": {
            "type": "string",
            "description": "Recipient initials image url",
            "example": "base64 image url"
          },
          "lastViewedAt": {
            "type": "string",
            "description": "Recipient last viewed date",
            "example": "2025-02-03T18:30:00.000Z"
          },
          "shareLink": {
            "type": "string",
            "description": "Share link",
            "example": "https://www.google.com"
          }
        },
        "required": [
          "id",
          "email",
          "hasCompleted",
          "role",
          "isPrimary",
          "signingOrder"
        ]
      },
      "proposals_v3_ProposalEstimateLinksDto": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "description": "Reference ID",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "documentId": {
            "type": "string",
            "description": "Document ID",
            "example": "c1e87a91-93b2-4b78-821f-85cf0e1f925b"
          },
          "recipientId": {
            "type": "string",
            "description": "Recipient ID",
            "example": "u240JcS0E5qE0ziHnwMm"
          },
          "entityName": {
            "type": "string",
            "enum": [
              "contacts",
              "users"
            ],
            "description": "Entity name that the recipient belongs to",
            "example": "contacts"
          },
          "recipientCategory": {
            "type": "string",
            "enum": [
              "recipient",
              "cc",
              "bcc"
            ],
            "description": "Recipient category (recipient, cc, or bcc)",
            "example": "recipient"
          },
          "documentRevision": {
            "type": "number",
            "description": "Document revision number",
            "example": 1
          },
          "createdBy": {
            "type": "string",
            "description": "Created by user ID",
            "example": "b6d8fa28-1112-4dc7-b9d2-f22b75a477ea"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the document is deleted",
            "example": false
          }
        },
        "required": [
          "referenceId",
          "documentId",
          "recipientId",
          "entityName",
          "recipientCategory",
          "documentRevision",
          "createdBy",
          "deleted"
        ]
      },
      "proposals_v3_DocumentDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "documentId": {
            "type": "string",
            "description": "Document Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "_id": {
            "type": "string",
            "description": "Unique identifier",
            "example": "67ac9a51106ee8311e911XXXX"
          },
          "name": {
            "type": "string",
            "description": "Name of the document",
            "example": "Document Name"
          },
          "type": {
            "type": "string",
            "description": "Type of the document",
            "example": "proposal"
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the document is deleted",
            "example": false
          },
          "isExpired": {
            "type": "boolean",
            "description": "Whether the document is expired",
            "example": false
          },
          "documentRevision": {
            "type": "number",
            "description": "Number of times document is moved to draft state",
            "example": 1
          },
          "fillableFields": {
            "description": "Fillable fields",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_FillableFieldsDTO"
            }
          },
          "grandTotal": {
            "description": "Grand total object of the document",
            "allOf": [
              {
                "$ref": "#/components/schemas/proposals_v3_GrandTotalDto"
              }
            ]
          },
          "locale": {
            "type": "string",
            "description": "Locale of the location",
            "example": "en-US"
          },
          "status": {
            "type": "array",
            "description": "Document status",
            "example": "draft",
            "items": {
              "type": "string",
              "enum": [
                "draft",
                "sent",
                "viewed",
                "completed",
                "accepted"
              ]
            }
          },
          "paymentStatus": {
            "type": "array",
            "description": "Payment status",
            "example": "paid",
            "items": {
              "type": "string",
              "enum": [
                "waiting_for_payment",
                "paid",
                "no_payment"
              ]
            }
          },
          "recipients": {
            "description": "Recipients",
            "example": [
              {
                "id": "u240JcS0E5qE0ziHnwMm",
                "email": "jim@gmail.com",
                "imageUrl": "",
                "contactName": "Jim Anton",
                "firstName": "Jim",
                "lastName": "Anton",
                "role": "signer",
                "hasCompleted": true,
                "signingOrder": 1,
                "imgUrl": "base64 image url",
                "ip": "123.123.123.123"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_RecipientItem"
            }
          },
          "links": {
            "description": "Links for the document if its sent",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_ProposalEstimateLinksDto"
            }
          },
          "updatedAt": {
            "type": "string",
            "description": "Date start from (ISO 8601)",
            "example": "2025-02-03T18:30:00.000Z"
          },
          "createdAt": {
            "type": "string",
            "description": "Date to (ISO 8601)",
            "example": "2025-02-14T18:29:59.999Z"
          }
        },
        "required": [
          "locationId",
          "documentId",
          "_id",
          "name",
          "type",
          "deleted",
          "isExpired",
          "documentRevision",
          "fillableFields",
          "grandTotal",
          "locale",
          "status",
          "paymentStatus",
          "recipients",
          "links",
          "updatedAt",
          "createdAt"
        ]
      },
      "proposals_v3_DocumentListResponseDto": {
        "type": "object",
        "properties": {
          "documents": {
            "description": "List of documents",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_DocumentDto"
            }
          },
          "total": {
            "type": "number",
            "description": "Total records available",
            "example": 10
          },
          "whiteLabelBaseUrl": {
            "type": "number",
            "description": "WhiteLabel url for document",
            "example": "https://example.com"
          },
          "whiteLabelBaseUrlForInvoice": {
            "type": "number",
            "description": "WhiteLabel url for invoice",
            "example": "https://example.com"
          }
        },
        "required": [
          "documents",
          "total"
        ]
      },
      "proposals_v3_BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Bad Request"
          }
        }
      },
      "proposals_v3_CCRecipientItem": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email",
            "example": "jim@gmail.com"
          },
          "id": {
            "type": "string",
            "description": "Contact ID",
            "example": "contactId"
          },
          "imageUrl": {
            "type": "string",
            "description": "Contact Image URL",
            "example": "https://example.com/image.jpg"
          },
          "contactName": {
            "type": "string",
            "description": "Contact Name",
            "example": "Jim Anton"
          },
          "firstName": {
            "type": "string",
            "description": "First Name",
            "example": "Jim"
          },
          "lastName": {
            "type": "string",
            "description": "Last Name",
            "example": "Anton"
          }
        },
        "required": [
          "email",
          "id",
          "imageUrl",
          "contactName",
          "firstName",
          "lastName"
        ]
      },
      "proposals_v3_NotificationSendSettingDto": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "templateId",
          "subject"
        ]
      },
      "proposals_v3_NotificationSenderSettingDto": {
        "type": "object",
        "properties": {
          "fromEmail": {
            "type": "string"
          },
          "fromName": {
            "type": "string"
          }
        },
        "required": [
          "fromEmail",
          "fromName"
        ]
      },
      "proposals_v3_NotificationSettingsDto": {
        "type": "object",
        "properties": {
          "receive": {
            "$ref": "#/components/schemas/proposals_v3_NotificationSendSettingDto"
          },
          "sender": {
            "$ref": "#/components/schemas/proposals_v3_NotificationSenderSettingDto"
          }
        },
        "required": [
          "receive",
          "sender"
        ]
      },
      "proposals_v3_SendDocumentDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "documentId": {
            "type": "string",
            "description": "Document Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "documentName": {
            "type": "string",
            "description": "Document Name",
            "example": "new Document"
          },
          "medium": {
            "type": "string",
            "enum": [
              "link",
              "email"
            ],
            "description": "Medium to be used for sending the document",
            "example": "email"
          },
          "ccRecipients": {
            "description": "CC Recipient",
            "example": [
              {
                "id": "u240JcS0E5qE0ziHnwMm",
                "email": "jim@gmail.com",
                "imageUrl": "",
                "contactName": "Jim Anton",
                "firstName": "Jim",
                "lastName": "Anton"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_CCRecipientItem"
            }
          },
          "notificationSettings": {
            "example": {
              "sender": {
                "fromName": "",
                "fromEmail": ""
              },
              "receive": {
                "subject": "",
                "templateId": ""
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/proposals_v3_NotificationSettingsDto"
              }
            ]
          },
          "sentBy": {
            "type": "string",
            "description": "Sent ByUser Id",
            "example": "1234567890"
          }
        },
        "required": [
          "locationId",
          "documentId",
          "sentBy"
        ]
      },
      "proposals_v3_SendDocumentResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "links": {
            "description": "Links for all recipients",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_ProposalEstimateLinksDto"
            }
          }
        },
        "required": [
          "success",
          "links"
        ]
      },
      "proposals_v3_TemplateListResponseDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "685d11c371c22e636e9c04b2",
            "description": "Template ID"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Whether the template is deleted"
          },
          "version": {
            "type": "number",
            "example": 2,
            "description": "Template version"
          },
          "name": {
            "type": "string",
            "example": "New Template",
            "description": "Template name"
          },
          "locationId": {
            "type": "string",
            "example": "5rORm9p7RtxWQPzBIbTG",
            "description": "Location ID"
          },
          "type": {
            "type": "string",
            "example": "proposal",
            "description": "Template type",
            "enum": [
              "proposal",
              "estimate",
              "contentLibrary"
            ]
          },
          "updatedBy": {
            "type": "string",
            "example": "K9PSPnWjfNoE8DCf5LJZ",
            "description": "User ID who last updated the template"
          },
          "isPublicDocument": {
            "type": "boolean",
            "example": true,
            "description": "Whether the template is a public document"
          },
          "createdAt": {
            "type": "string",
            "example": "2025-06-26T09:24:19.305Z",
            "description": "Template creation date"
          },
          "updatedAt": {
            "type": "string",
            "example": "2025-06-26T09:27:32.119Z",
            "description": "Template last update date"
          },
          "id": {
            "type": "string",
            "example": "685d11c371c22e636e9c04b2",
            "description": "Template ID (alias for _id)"
          },
          "documentCount": {
            "type": "number",
            "example": 0,
            "description": "Document count (only present when isPublicDocument is true)"
          },
          "docFormUrl": {
            "type": "string",
            "example": "https://staging.sendlink.co/documents/doc-form/685d11c371c22e636e9c04b2?locale=en_US",
            "description": "Document form URL (only present when isPublicDocument is true)"
          }
        },
        "required": [
          "_id",
          "deleted",
          "version",
          "name",
          "locationId",
          "type",
          "updatedBy",
          "isPublicDocument",
          "createdAt",
          "updatedAt",
          "id"
        ]
      },
      "proposals_v3_TemplateListPaginationResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Array of templates",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_TemplateListResponseDTO"
            }
          },
          "total": {
            "type": "number",
            "example": 2,
            "description": "Total number of templates"
          },
          "traceId": {
            "type": "string",
            "example": "d5656876-86a5-46fb-84df-788f1da7937a",
            "description": "Trace ID for request tracking"
          }
        },
        "required": [
          "data",
          "total"
        ]
      },
      "proposals_v3_SendDocumentFromPublicApiBodyDto": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "description": "Template Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "userId": {
            "type": "string",
            "description": "User Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "sendDocument": {
            "type": "boolean",
            "description": "Send Document",
            "example": true
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "contactId": {
            "type": "string",
            "description": "Contact Id",
            "example": "hTlkh7t8gujsahgg93"
          },
          "opportunityId": {
            "type": "string",
            "description": "Opportunity Id",
            "example": "hTlkh7t8gujsahgg93"
          }
        },
        "required": [
          "templateId",
          "userId",
          "locationId",
          "contactId"
        ]
      },
      "proposals_v3_SendTemplateResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success status",
            "example": true
          },
          "links": {
            "description": "Links for all recipients",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/proposals_v3_ProposalEstimateLinksDto"
            }
          }
        },
        "required": [
          "success",
          "links"
        ]
      },
      "proposals_v3_UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized"
          }
        }
      },
      "saas_v3_BadRequestDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 400,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": "Bad Request",
            "description": "Error message"
          }
        }
      },
      "saas_v3_UnauthorizedDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 401,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": "Invalid token: access token is invalid",
            "description": "Error message"
          },
          "error": {
            "type": "string",
            "example": "Unauthorized",
            "description": "Error message"
          }
        }
      },
      "saas_v3_ResourceNotFoundDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 404,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": [
              "Contact not found",
              "User not found",
              "Group not found",
              "Channel not found"
            ],
            "description": "Error message"
          }
        }
      },
      "saas_v3_InternalServerErrorDTO": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number",
            "example": 500,
            "description": "Status code"
          },
          "message": {
            "type": "string",
            "example": "Internal Server Error",
            "description": "Error message"
          }
        }
      },
      "saas_v3_UpdateSubscriptionDto": {
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "description": "Subscription ID",
            "example": "sub_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "customerId": {
            "type": "string",
            "description": "Customer ID",
            "example": "cus_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          }
        },
        "required": [
          "subscriptionId",
          "customerId",
          "companyId"
        ]
      },
      "saas_v3_BulkDisableSaasDto": {
        "type": "object",
        "properties": {
          "locationIds": {
            "description": "Location IDs",
            "example": [
              "locationId1",
              "locationId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationIds"
        ]
      },
      "saas_v3_BulkDisableSaasResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "Response data from the bulk disable SaaS operation",
            "example": {
              "msg": "success"
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "saas_v3_EnableSaasDto": {
        "type": "object",
        "properties": {
          "stripeAccountId": {
            "type": "string",
            "description": "Stripe account id(Required only for SaaS V1)",
            "example": "acct_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "name": {
            "type": "string",
            "description": "Name of the stripe customer(Required only for SaaS V1)",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email of the stripe customer(Required only for SaaS V1)",
            "example": "john.doe@example.com"
          },
          "stripeCustomerId": {
            "type": "string",
            "description": "Stripe customer id if exists(Required only for SaaS V1)",
            "example": "cus_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "companyId": {
            "type": "string"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Denotes if it is a saas v2 or v1 sub-account",
            "example": true
          },
          "contactId": {
            "type": "string",
            "description": "Agency subaccount used for payment provider integration(Required Only for SaaS V2)",
            "example": "1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Agency Subaccount ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Description"
          },
          "saasPlanId": {
            "type": "string",
            "description": "Required only while pre-configuring saas subscription",
            "example": "1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "priceId": {
            "type": "string",
            "description": "Required only while pre-configuring saas subscription",
            "example": "price_1QDPY5FpU9DlKp7RQ8BXfywx"
          }
        },
        "required": [
          "companyId",
          "isSaaSV2"
        ]
      },
      "saas_v3_EnableSaasResponseDto": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "Response data from the enable SaaS operation",
            "example": {
              "customer_id": "cus_1QDPY5FpU9DlKp7RQ8BXfywx",
              "ok": true,
              "paymentMethodAdded": true
            }
          }
        },
        "required": [
          "data"
        ]
      },
      "saas_v3_PauseLocationDto": {
        "type": "object",
        "properties": {
          "paused": {
            "type": "boolean",
            "description": "Paused",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          }
        },
        "required": [
          "paused",
          "companyId"
        ]
      },
      "saas_v3_UpdateRebillingDto": {
        "type": "object",
        "properties": {
          "product": {
            "type": "string",
            "description": "The product to update rebilling for",
            "example": "contentAI",
            "enum": [
              "contentAI",
              "workflow_premium_actions",
              "workflow_ai",
              "conversationAI",
              "EmailNotification",
              "whatsApp",
              "reviewsAI",
              "VERIFIED_CALLER_ID",
              "WALLET_SALES_TAX",
              "NOTIFICATION_SMS",
              "EmailSmtp",
              "EmailVerification",
              "autoCompleteAddress",
              "funnelAI",
              "domainPurchase",
              "Phone",
              "Email"
            ]
          },
          "locationIds": {
            "description": "Array of location IDs to update rebilling for",
            "example": [
              "zzyG7A4x6bRJl5SlhQhH",
              "Vygq7VgXCDfg3xnl8TBR"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "config": {
            "type": "object",
            "description": "Configuration for rebilling settings",
            "properties": {
              "optIn": {
                "type": "boolean",
                "description": "Enable the product for the locations",
                "example": true
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable the rebilling for the locations",
                "example": true
              },
              "markup": {
                "type": "number",
                "description": "Additional value to be added in terms of percentage. For example, if the product price is $100 and the markup is 5, the amount charged to will be $105.",
                "example": 5
              }
            }
          }
        },
        "required": [
          "product",
          "locationIds",
          "config"
        ]
      },
      "saas_v3_UpdateRebillingResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the rebilling update was successful",
            "example": true
          }
        },
        "required": [
          "success"
        ]
      },
      "saas_v3_AgencyPlanResponseDto": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "description": "Unique identifier for the plan",
            "example": "66c4d36534f21f900dc2a265"
          },
          "title": {
            "type": "string",
            "description": "Title of the plan",
            "example": "AED 1.5 changed"
          },
          "description": {
            "type": "string",
            "description": "Description of the plan",
            "example": "AED 1.5"
          },
          "saasProducts": {
            "description": "Array of SaaS products included in the plan",
            "example": [
              "2-way-text-messaging",
              "gmb-messaging",
              "web-chat",
              "reputation-management"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addOns": {
            "description": "Array of add-ons included in the plan",
            "example": [
              "CONVERSATIONS_AI",
              "CP_BRANDED_APP_49",
              "WORDPRESS_V1"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "planLevel": {
            "type": "number",
            "description": "Level of the plan (0-4)",
            "example": 0
          },
          "trialPeriod": {
            "type": "number",
            "description": "Trial period in days",
            "example": 16
          },
          "userLimit": {
            "type": "number",
            "description": "User limit for the plan",
            "example": 50
          },
          "contactLimit": {
            "type": "number",
            "description": "Contact limit for the plan",
            "example": 50
          },
          "prices": {
            "type": "array",
            "description": "Pricing information for the plan",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "ID of the price",
                  "type": "string",
                  "example": "66a9edbfcc6c505a22db7976"
                },
                "billingInterval": {
                  "description": "Billing interval for the plan",
                  "type": "string",
                  "enum": [
                    "month",
                    "year"
                  ],
                  "example": "month"
                },
                "active": {
                  "description": "Indicates if the price is active",
                  "type": "boolean",
                  "example": true
                },
                "amount": {
                  "description": "Amount of the price",
                  "type": "number",
                  "example": 150
                },
                "currency": {
                  "description": "Currency of the price",
                  "type": "string",
                  "example": "AED"
                },
                "symbol": {
                  "description": "Symbol of the price",
                  "type": "string",
                  "example": "$"
                }
              }
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID for the plan",
            "example": "66911cdc98508ec2731979b9"
          },
          "snapshotId": {
            "type": "string",
            "description": "Snapshot ID for the plan",
            "example": "G8KmpIeLnZc7ZMoJoxDx"
          },
          "productId": {
            "type": "string",
            "description": "Product ID for the plan",
            "example": "66a9edbfcc6c5090bedb7974"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if this is a SaaS V2 plan",
            "example": true
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-07-31T07:54:41.885Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-01T12:27:29.167Z"
          }
        },
        "required": [
          "planId",
          "title",
          "description",
          "saasProducts",
          "planLevel",
          "trialPeriod",
          "prices",
          "isSaaSV2",
          "createdAt",
          "updatedAt"
        ]
      },
      "saas_v3_LocationSubscriptionResponseDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "locationId1"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if the SaaS is V2",
            "example": true
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          },
          "saasMode": {
            "type": "string",
            "description": "SaaS mode",
            "example": "saasV2"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription ID",
            "example": "subscriptionId1"
          },
          "customerId": {
            "type": "string",
            "description": "Customer ID",
            "example": "customerId1"
          },
          "productId": {
            "type": "string",
            "description": "Product ID",
            "example": "productId1"
          },
          "priceId": {
            "type": "string",
            "description": "Price ID",
            "example": "priceId1"
          },
          "saasPlanId": {
            "type": "string",
            "description": "SaaS plan ID",
            "example": "saasPlanId1"
          },
          "subscriptionStatus": {
            "type": "string",
            "description": "Subscription status",
            "example": "active"
          }
        },
        "required": [
          "locationId",
          "isSaaSV2",
          "companyId"
        ]
      },
      "saas_v3_BulkEnableSaasActionPayloadDto": {
        "type": "object",
        "properties": {
          "priceId": {
            "type": "string",
            "description": "Price ID for the SaaS plan",
            "example": "price_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "stripeAccountId": {
            "type": "string",
            "description": "Stripe account ID",
            "example": "acct_1QDPY5FpU9DlKp7RQ8BXfywx"
          },
          "saasPlanId": {
            "type": "string",
            "description": "SaaS plan ID",
            "example": "66c4d36534f21f900dc2a265"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          }
        },
        "required": [
          "saasPlanId"
        ]
      },
      "saas_v3_BulkEnableSaasRequestDto": {
        "type": "object",
        "properties": {
          "locationIds": {
            "description": "Array of location IDs to enable SaaS for",
            "example": [
              "locationId1",
              "locationId2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if the SaaS is V2",
            "example": true
          },
          "actionPayload": {
            "description": "Action payload for the bulk enable SaaS operation",
            "allOf": [
              {
                "$ref": "#/components/schemas/saas_v3_BulkEnableSaasActionPayloadDto"
              }
            ]
          }
        },
        "required": [
          "locationIds",
          "isSaaSV2",
          "actionPayload"
        ]
      },
      "saas_v3_BulkEnableSaasResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the bulk enable SaaS operation was successful",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Message indicating the bulk enable SaaS operation",
            "example": "Bulk enable SaaS operation completed successfully"
          },
          "bulkActionUrl": {
            "type": "string",
            "description": "URL for the bulk enable SaaS operation",
            "example": "https://example.com/bulk-enable-saas"
          }
        },
        "required": [
          "success",
          "message"
        ]
      },
      "saas_v3_SaasLocationDto": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "locationId1"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId1"
          },
          "saasMode": {
            "type": "string",
            "description": "SaaS mode",
            "example": "saasV2"
          },
          "subscriptionId": {
            "type": "string",
            "description": "Subscription ID",
            "example": "subscriptionId1"
          },
          "customerId": {
            "type": "string",
            "description": "Customer ID",
            "example": "customerId1"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john.doe@example.com"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if the SaaS is V2",
            "example": true
          },
          "subscriptionInfo": {
            "type": "object",
            "description": "Subscription information",
            "example": {
              "priceId": "price_1QDPY5FpU9DlKp7RQ8BXfywx",
              "saasPlanId": "66c4d36534f21f900dc2a265",
              "stripeProductId": "prod_1QDPY5FpU9DlKp7RQ8BXfywx",
              "subscriptionStatus": "active"
            }
          }
        },
        "required": [
          "locationId",
          "companyId",
          "saasMode",
          "subscriptionId"
        ]
      },
      "saas_v3_GetSaasLocationsResponseDto": {
        "type": "object",
        "properties": {
          "locations": {
            "description": "Array of SaaS locations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/saas_v3_SaasLocationDto"
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "number",
                "example": 1,
                "description": "Page number"
              },
              "limit": {
                "type": "number",
                "example": 10,
                "description": "Number of items per page"
              },
              "total": {
                "type": "number",
                "example": 100,
                "description": "Total number of items"
              },
              "totalPages": {
                "type": "number",
                "example": 10,
                "description": "Total number of pages"
              },
              "hasNext": {
                "type": "boolean",
                "example": true,
                "description": "Indicates if there is a next page"
              },
              "hasPrev": {
                "type": "boolean",
                "example": true,
                "description": "Indicates if there is a previous page"
              }
            }
          }
        },
        "required": [
          "locations",
          "pagination"
        ]
      },
      "saas_v3_SaasPlanResponseDto": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "description": "Unique identifier for the SaaS plan",
            "example": "66c4d36534f21f900dc2a265"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID associated with the SaaS plan",
            "example": "66c4d36534f21f900dc2a265"
          },
          "title": {
            "type": "string",
            "description": "Title of the SaaS plan",
            "example": "AED 1.5 changed"
          },
          "description": {
            "type": "string",
            "description": "Description of the SaaS plan",
            "example": "AED 1.5"
          },
          "saasProducts": {
            "description": "Array of SaaS products included in the plan",
            "example": [
              "2-way-text-messaging",
              "gmb-messaging",
              "web-chat"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "addOns": {
            "description": "Array of add-ons included in the plan",
            "example": [
              "YEXT_V2",
              "WHATSAPP_V1",
              "WORDPRESS_V1",
              "AI_EMPLOYEE",
              "Ad_Publishing_Connect_Your_BM"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "planLevel": {
            "type": "number",
            "description": "Level of the plan (0-4)",
            "example": 0
          },
          "trialPeriod": {
            "type": "number",
            "description": "Trial period in days",
            "example": 16
          },
          "setupFee": {
            "type": "number",
            "description": "Setup fee for the plan",
            "example": 100
          },
          "userLimit": {
            "type": "number",
            "description": "User limit for the plan",
            "example": 50
          },
          "contactLimit": {
            "type": "number",
            "description": "Contact limit for the plan",
            "example": 50
          },
          "prices": {
            "type": "array",
            "description": "Prices for the plan",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "example": "66a9edbfcc6c505a22db7976"
                },
                "billingInterval": {
                  "type": "string",
                  "enum": [
                    "month",
                    "year"
                  ],
                  "example": "month"
                },
                "active": {
                  "type": "boolean",
                  "example": true
                },
                "amount": {
                  "type": "number",
                  "example": 150
                },
                "currency": {
                  "type": "string",
                  "example": "AED"
                },
                "symbol": {
                  "type": "string",
                  "example": "$"
                }
              }
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID for the plan",
            "example": "66911cdc98508ec2731979b9"
          },
          "snapshotId": {
            "type": "string",
            "description": "Snapshot ID for the plan",
            "example": "G8KmpIeLnZc7ZMoJoxDx"
          },
          "providerLocationId": {
            "type": "string",
            "description": "Provider location ID",
            "example": "r06mdj4OrrERzYDvsOdh"
          },
          "productId": {
            "type": "string",
            "description": "Product ID for the plan",
            "example": "66a9edbfcc6c5090bedb7974"
          },
          "isSaaSV2": {
            "type": "boolean",
            "description": "Indicates if this is a SaaS V2 plan",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-07-31T07:54:41.885Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Last update timestamp",
            "example": "2025-04-01T12:27:29.167Z"
          }
        },
        "required": [
          "planId",
          "companyId",
          "title",
          "description",
          "saasProducts",
          "planLevel",
          "trialPeriod",
          "prices",
          "isSaaSV2",
          "createdAt",
          "updatedAt"
        ]
      },
      "saas_v3_LocationWalletBalanceDto": {
        "type": "object",
        "properties": {
          "walletId": {
            "type": "string",
            "description": "Wallet Id",
            "example": "xyz789"
          },
          "balance": {
            "type": "number",
            "description": "Current wallet balance",
            "example": 1500.5
          },
          "complimentaryCredits": {
            "type": "number",
            "description": "Complimentary credits amount",
            "example": 100
          }
        },
        "required": [
          "walletId",
          "balance",
          "complimentaryCredits"
        ]
      },
      "saas_v3_ComplimentaryCreditDTO": {
        "type": "object",
        "properties": {
          "complimentaryCreditsAmount": {
            "type": "number",
            "description": "Credit amount to be added",
            "example": 100
          }
        }
      },
      "saas_v3_AttachedRebillingProductConfigDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enable rebilling for the product",
            "example": true
          },
          "markup": {
            "type": "number",
            "description": "Additional value to be added in terms of percentage",
            "example": 300
          },
          "price": {
            "type": "number",
            "description": "Product price override",
            "example": 0.0025
          }
        },
        "required": [
          "enabled",
          "markup"
        ]
      },
      "saas_v3_AllowAttachRebillingDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "description": "Company ID owning the location",
            "example": "5DP4iH6HLkQsiKESj6rh"
          },
          "attachedRebillingConfig": {
            "type": "object",
            "description": "Map of rebilling product code to its config. When provided, this gets stored on the sub-account so it can be applied when the rebilling config is created. Omit to only mark the sub-account as awaiting rebilling attach without any pre-configured products. Possible product keys: `contentAI`, `workflow_premium_actions`, `workflow_ai`, `conversationAI`, `whatsApp`, `reviewsAI`, `EmailVerification`, `funnelAI`, `domainPurchase`, `Phone`, `Email`, `agentStudio`, `askai`, `aiStudio`.",
            "example": {
              "EmailVerification": {
                "enabled": true,
                "markup": 4,
                "price": 0.0025
              },
              "Phone": {
                "enabled": true,
                "markup": 3
              },
              "agentStudio": {
                "enabled": true,
                "markup": 8,
                "price": 0.25
              },
              "contentAI": {
                "enabled": true,
                "markup": 5,
                "price": 0.09
              },
              "domainPurchase": {
                "enabled": true,
                "markup": 3
              }
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/saas_v3_AttachedRebillingProductConfigDto"
            }
          }
        },
        "required": [
          "companyId"
        ]
      },
      "saas_v3_AllowAttachRebillingResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the allow attach rebilling operation succeeded",
            "example": true
          },
          "locationId": {
            "type": "string",
            "description": "Location ID the rebilling config was attached to",
            "example": "AUKAtFVo0lWezBsBQ3FE"
          },
          "attachedRebillingConfig": {
            "type": "object",
            "description": "Stored rebilling configuration on the location. Markup is the internal percentage value converted from the request multiplier (e.g. 4 -> 300%, 3 -> 200%).",
            "example": {
              "EmailVerification": {
                "enabled": true,
                "markup": 300,
                "price": 0.0025
              },
              "Phone": {
                "enabled": true,
                "markup": 200
              }
            }
          }
        },
        "required": [
          "success",
          "locationId",
          "attachedRebillingConfig"
        ]
      },
      "snapshots_v3_SnapshotsSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "Snapshot Id."
          },
          "name": {
            "type": "string",
            "example": "Martial Arts Snapshot",
            "description": "Name of the snapshot"
          },
          "type": {
            "type": "string",
            "example": "own",
            "description": "Type of snapshot - own or imported."
          }
        }
      },
      "snapshots_v3_GetSnapshotsSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "snapshots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/snapshots_v3_SnapshotsSchema"
            }
          }
        }
      },
      "snapshots_v3_CreateSnapshotShareLinkRequestDTO": {
        "type": "object",
        "properties": {
          "snapshot_id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "id for snapshot to be shared"
          },
          "share_type": {
            "type": "string",
            "example": "permanent_link",
            "description": "Type of share link to generate",
            "enum": [
              "link",
              "permanent_link",
              "agency_link",
              "location_link"
            ]
          },
          "relationship_number": {
            "type": "string",
            "example": "0-128-926,1-208-926,2-008-926",
            "description": "Comma separated Relationship number of Agencies to create agency restricted share link"
          },
          "share_location_id": {
            "type": "string",
            "example": "l1C08ntBrFjLS0elLIYU, U1C08ntBrFjLS0elKIYP",
            "description": "Comma separated Sub-Account ids to create sub-account restricted share link"
          }
        },
        "required": [
          "snapshot_id",
          "share_type"
        ]
      },
      "snapshots_v3_CreateSnapshotShareLinkSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "id for shared snapshot"
          },
          "shareLink": {
            "type": "string",
            "example": "https://affiliates.crm.gesvision.com/?share=1eM2UgkfaECOYyUdCo9Pa",
            "description": "Share Link for snapshot"
          }
        }
      },
      "snapshots_v3_SnapshotStatusSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "Document id"
          },
          "locationId": {
            "type": "string",
            "example": "BrKClvyvdxhJ9Mxz2pzQ",
            "description": "Sub-account id"
          },
          "status": {
            "type": "string",
            "example": "processing",
            "description": "Status of snapshot push"
          },
          "dateAdded": {
            "format": "date-time",
            "type": "string",
            "example": "10/28/2022, 6:24:54 PM",
            "description": "Timestamp of when snapshot processing starts for sub-account "
          }
        }
      },
      "snapshots_v3_GetSnapshotPushStatusSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/snapshots_v3_SnapshotStatusSchema"
            }
          }
        }
      },
      "snapshots_v3_SnapshotStatusSchemaWithAssets": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "1eM2UgkfaECOYyUdCo9Pa",
            "description": "Document id"
          },
          "locationId": {
            "type": "string",
            "example": "BrKClvyvdxhJ9Mxz2pzQ",
            "description": "Sub-account id"
          },
          "status": {
            "type": "string",
            "example": "processing",
            "description": "Status of snapshot push"
          },
          "completed": {
            "example": "['forms', 'surveys', 'funnels', 'workflows']",
            "description": "List of completed assets",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pending": {
            "example": "['custom_fields','custom_values','tags']",
            "description": "List of pending assets",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "snapshots_v3_GetLatestSnapshotPushStatusSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/snapshots_v3_SnapshotStatusSchemaWithAssets"
          }
        }
      },
      "social_planner_v3_BaseOAuthAccountSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Account Name",
            "example": "John Doe"
          },
          "originId": {
            "type": "string",
            "description": "Origin ID",
            "example": "244405****11687"
          },
          "avatar": {
            "type": "string",
            "description": "Account Avatar URL",
            "example": "https://storage.googleapis.com/bucket/avatar.jpg"
          }
        },
        "required": [
          "name",
          "platform",
          "originId"
        ]
      },
      "social_planner_v3_GoogleLocationSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "accounts/114659701071209971352",
            "description": "Google Business account identifier"
          },
          "storeCode": {
            "type": "string",
            "example": "w37swmmLbA02zgqKPpxITe",
            "description": "Store code or location identifier"
          },
          "title": {
            "type": "string",
            "example": "Location Title",
            "description": "Business location title or name"
          },
          "metadata": {
            "type": "object",
            "description": "Meta data not related to User",
            "example": {}
          },
          "storefrontAddress": {
            "type": "object",
            "description": "Store front address",
            "example": {}
          },
          "relationshipData": {
            "type": "object",
            "description": "All locations and chain related to this one",
            "example": {}
          },
          "maxLocation": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if location limit has been reached"
          },
          "isVerified": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the location is verified by Google"
          },
          "isConnected": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the location is currently connected"
          }
        }
      },
      "social_planner_v3_GoogleAccountsSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "accounts/114659701071209971352",
            "description": "Google Business account identifier"
          },
          "accountName": {
            "type": "string",
            "example": "Account Name Test",
            "description": "Display name of the Google Business account"
          },
          "type": {
            "type": "string",
            "example": "PERSONAL",
            "description": "Type of Google Business account"
          },
          "verificationState": {
            "type": "string",
            "example": "UNVERIFIED",
            "description": "Verification state of the account"
          },
          "vettedState": {
            "type": "string",
            "example": "NOT_VETTED",
            "description": "Vetted state of the account by Google"
          }
        }
      },
      "social_planner_v3_GetGoogleLocationSchema": {
        "type": "object",
        "properties": {
          "location": {
            "description": "Google Location Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GoogleLocationSchema"
              }
            ],
            "example": {
              "name": "accounts/114659701071209971352",
              "storeCode": "w37swmmLbA02zgqKPpxITe",
              "title": "Location Title",
              "maxLocation": true,
              "isVerified": true,
              "isConnected": true
            }
          },
          "account": {
            "description": "Google Account Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GoogleAccountsSchema"
              }
            ],
            "example": {
              "name": "accounts/114659701071209971352",
              "accountName": "Account Name Test",
              "type": "PERSONAL",
              "verificationState": "UNVERIFIED",
              "vettedState": "NOT_VETTED"
            }
          }
        }
      },
      "social_planner_v3_GetGoogleLocationAccountSchema": {
        "type": "object",
        "properties": {
          "locations": {
            "description": "Locations",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetGoogleLocationSchema"
              }
            ],
            "example": {
              "location": {
                "name": "accounts/114659701071209971352",
                "title": "Location Title"
              },
              "account": {
                "name": "accounts/114659701071209971352",
                "accountName": "Account Name Test"
              }
            }
          }
        }
      },
      "social_planner_v3_GetGoogleLocationResponseDTO": {
        "title": "Google Business Account",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Google Business Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetGoogleLocationAccountSchema"
              }
            ],
            "example": {
              "locations": {
                "location": {
                  "name": "accounts/114659701071209971352",
                  "title": "Location Title"
                },
                "account": {
                  "name": "accounts/114659701071209971352",
                  "accountName": "Account Name Test"
                }
              }
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachGMBLocationDTO": {
        "title": "Google Business Account",
        "type": "object",
        "properties": {
          "location": {
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_AttachGMBLocationLocationDTO"
              }
            ]
          },
          "account": {
            "type": "object",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_AttachGMBLocationAccountDTO"
              }
            ]
          }
        },
        "required": [
          "location",
          "account"
        ]
      },
      "social_planner_v3_AttachGMBLocationLocationDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Location name"
          },
          "storeCode": {
            "type": "string",
            "description": "Store code"
          },
          "title": {
            "type": "string",
            "description": "Location title"
          },
          "storefrontAddress": {
            "type": "object",
            "description": "Storefront address details"
          },
          "metadata": {
            "type": "object",
            "description": "Additional metadata"
          },
          "maxLocation": {
            "type": "boolean",
            "description": "Whether this is a max location"
          },
          "isVerified": {
            "type": "boolean",
            "description": "Whether the location is verified"
          },
          "isConnected": {
            "type": "boolean",
            "description": "Whether the location is connected"
          }
        },
        "required": [
          "name",
          "title"
        ]
      },
      "social_planner_v3_AttachGMBLocationAccountDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Account name identifier"
          },
          "accountName": {
            "type": "string",
            "description": "Display name of the account"
          },
          "type": {
            "type": "string",
            "description": "Type of the account"
          },
          "verificationState": {
            "type": "string",
            "description": "State of account verification"
          },
          "vettedState": {
            "type": "string",
            "description": "Vetting state of the account"
          }
        },
        "required": [
          "name",
          "accountName",
          "type",
          "verificationState",
          "vettedState"
        ]
      },
      "social_planner_v3_SocialGoogleMediaAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856",
            "description": "MongoDB document ID of the social media account"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "OAuth provider account identifier"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Legacy account identifier for backward compatibility"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Location ID associated with this account"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Original platform-specific account identifier"
          },
          "platform": {
            "type": "object",
            "example": "google",
            "description": "Social media platform name"
          },
          "type": {
            "type": "object",
            "example": "location",
            "description": "Type of account (e.g., location, page, profile)"
          },
          "name": {
            "type": "string",
            "example": "Account Name",
            "description": "Display name of the account"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Avatar or profile picture URL"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            },
            "description": "Additional metadata for the account"
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account is currently active"
          },
          "deleted": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account has been deleted"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_planner_v3_SocialMediaGmbAccountResponseDTO": {
        "title": "Google Business Account",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Google Business Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialGoogleMediaAccountSchema"
              }
            ],
            "example": {
              "_id": "65f2d989a4f2f1e5322c3856",
              "oAuthId": "u37swmmLbA02zgqKPpxITe2",
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "platform": "google",
              "type": "location",
              "name": "Account Name",
              "active": true
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SearchPostDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "type must be one of the following values: recent, all, scheduled, draft, failed, in_review, published, in_progress, pending and deleted",
            "example": "all",
            "default": "all"
          },
          "accounts": {
            "type": "string",
            "description": "List of account Ids separated by comma as a string",
            "example": "660a83fc29deacac50033e2b_omaDY3RbWtTP511e808O_17841465964543589, 38bF83fc29deacac50033e2b_omaDY3RbWtr3P11e808O_17841465964543998"
          },
          "skip": {
            "type": "string",
            "example": "0",
            "default": "0",
            "description": "Number of records to skip for pagination"
          },
          "limit": {
            "type": "string",
            "example": "10",
            "default": "10",
            "description": "Maximum number of records to return"
          },
          "fromDate": {
            "type": "string",
            "description": "From Date",
            "example": "2024-01-22T05:32:49.463Z"
          },
          "toDate": {
            "type": "string",
            "description": "To Date",
            "example": "2024-03-20T05:32:49.463Z"
          },
          "includeUsers": {
            "type": "string",
            "description": "Include User Data",
            "example": "true"
          },
          "postType": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          }
        },
        "required": [
          "skip",
          "limit",
          "fromDate",
          "toDate",
          "includeUsers"
        ]
      },
      "social_planner_v3_PostMediaSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public URL of the media file. Must be a valid, accessible HTTPS URL.",
            "example": "https://storage.googleapis.com/your-bucket/media/image.jpg"
          },
          "caption": {
            "type": "string",
            "description": "Alt text or caption for the media. Used for accessibility and SEO.",
            "example": "Team meeting discussing Q4 marketing strategy"
          },
          "originalUrl": {
            "type": "string",
            "description": "Original media URL before any processing (watermarking/optimization). Set automatically by the system.",
            "example": "https://storage.googleapis.com/test/test/media/original.jpeg"
          },
          "watermarkedUrl": {
            "type": "string",
            "description": "URL of the media after watermarking. Set automatically when watermark is applied.",
            "example": "https://storage.googleapis.com/test/test/media/watermarked.jpeg"
          },
          "type": {
            "type": "string",
            "description": "MIME type of the media file. See Platform Limitations Guide for platform-specific format support.",
            "example": "image/jpeg",
            "enum": [
              "image/jpeg",
              "image/jpg",
              "image/png",
              "image/gif",
              "video/mp4",
              "video/mov",
              "video/webm"
            ]
          },
          "thumbnail": {
            "type": "string",
            "description": "Cover image URL for a video media item.\n\n**Scope**\n- Applies to the **first video** in `media[]`. Values supplied on subsequent video items are ignored.\n- Has no effect on image-only media items.\n\n**Response behavior**\n- After the post is published, the resolved cover image is surfaced on the post-level `thumbnail` field of the response and is no longer echoed back inside `media[]`. This represents the post's primary cover image and the cover used for the first video.\n\n**Limitations**\n- Per-item thumbnails for multi-video posts are not supported. Each destination network exposes a single cover image per post for the leading video; this matches the behavior of the underlying social platform APIs.\n\n**Format**\n- Provide a publicly accessible JPEG or PNG URL. Animated formats and video URLs are not accepted.\n- Recommended: an image matching the orientation of your video and ≤ 2 MB.",
            "example": "https://storage.googleapis.com/test/test/media/test.jpeg"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the media item. Used for tracking and referencing.",
            "example": "media_abc123xyz"
          },
          "optimizedUrl": {
            "type": "string",
            "description": "URL of the optimized/compressed media. Set automatically when media optimization is enabled.\n\n**Enable Optimization:** Set `mediaOptimization: true` in the post request.",
            "example": "https://storage.googleapis.com/your-bucket/media/optimized-image.jpg"
          },
          "optimizedType": {
            "type": "string",
            "description": "MIME type of the optimized media. May differ from original if format conversion occurred.",
            "example": "image/jpeg"
          },
          "isModified": {
            "type": "boolean",
            "description": "Flag indicating if the media was modified (watermarked, optimized, or processed).",
            "example": true
          },
          "altText": {
            "type": "string",
            "maxLength": 4086,
            "description": "Alt text for accessibility. Supported on Instagram, Threads, Pinterest, Bluesky, and LinkedIn image posts (ignored for video and other platforms). Auto-truncated per platform: Pinterest 500, Instagram/Threads 1000, Bluesky 2000, LinkedIn 4086 chars.",
            "example": "A sunset over the ocean with silhouetted palm trees"
          }
        },
        "required": [
          "url",
          "type"
        ]
      },
      "social_planner_v3_OgTagsSchema": {
        "type": "object",
        "properties": {
          "metaImage": {
            "type": "string",
            "description": "Preview image URL for the shared link.\n\n**Best Practices:**\n- Use high-quality images (1200x630px recommended)\n- Ensure the image is publicly accessible\n\n**Auto-fetch:** Use the Get Metatags API to fetch OG data from a URL.",
            "example": "https://yoursite.com/images/og-image.jpg"
          },
          "metaLink": {
            "type": "string",
            "description": "URL of the webpage being shared. This is the destination when users click the link preview.",
            "example": "https://yoursite.com/blog/amazing-article"
          },
          "ogTitle": {
            "type": "string",
            "description": "Custom title for the link preview. Overrides the page's og:title meta tag.\n\n**Tip:** Keep titles concise (50-60 characters) for best display across platforms.",
            "example": "How to Double Your Social Media Engagement"
          },
          "ogDescription": {
            "type": "string",
            "description": "Custom description for the link preview. Overrides the page's og:description meta tag.\n\n**Tip:** Keep descriptions under 155 characters for optimal display.",
            "example": "Learn proven strategies to boost your social media engagement and grow your audience."
          }
        }
      },
      "social_planner_v3_PostUserSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User Id",
            "example": "6284c43d519161e96cc09c13"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Mr"
          },
          "firstName": {
            "type": "string",
            "description": "First name",
            "example": "Harry"
          },
          "lastName": {
            "type": "string",
            "description": "Last name",
            "example": "Spencer"
          },
          "profilePhoto": {
            "type": "string",
            "description": "Profile photo",
            "example": "https://storage.googleapis.com/user/kCrjKGHZQ2/profile/1dca8c-61c9-404d-a459-751fbcb.jpeg"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "901111119"
          },
          "email": {
            "type": "string",
            "description": "Email Id",
            "example": "abc@xyc.com"
          }
        },
        "required": [
          "id",
          "title",
          "firstName",
          "lastName",
          "profilePhoto",
          "phone",
          "email"
        ]
      },
      "social_planner_v3_FormatedApprovalDetails": {
        "type": "object",
        "properties": {
          "approver": {
            "type": "string",
            "description": "User ID of the designated approver.\n\n**Note:** The approver will receive a notification when a post is submitted for review.",
            "example": "iVrVJ2uoXNF0wzcBzgl5"
          },
          "requesterNote": {
            "type": "string",
            "description": "Note from the post creator to the approver explaining the post or requesting specific feedback.",
            "example": "Please review the messaging for our Q4 campaign launch. Let me know if the CTA needs adjustment."
          },
          "approverNote": {
            "type": "string",
            "description": "Note from the approver to the post creator with feedback or approval comments.",
            "example": "Approved! Great content. Consider adding more hashtags for visibility."
          },
          "approvalStatus": {
            "type": "string",
            "description": "Current approval status of the post.\n\n**Available Values:**\n- `pending` - Awaiting approver review\n- `approved` - Approved and ready for publishing\n- `rejected` - Rejected by approver (needs revision)\n- `not_required` - No approval workflow needed",
            "example": "pending",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "not_required"
            ]
          },
          "approverUser": {
            "description": "Approver User Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostUserSchema"
              }
            ],
            "example": {
              "id": "6284c43d519161e96cc09c13",
              "title": "Mr",
              "firstName": "Harry",
              "lastName": "Spencer",
              "email": "abc@xyc.com"
            }
          }
        }
      },
      "social_planner_v3_TiktokPostSchema": {
        "type": "object",
        "properties": {
          "privacyLevel": {
            "type": "string",
            "description": "Privacy level controlling who can view the video.\n\n**Available Values:**\n- `PUBLIC_TO_EVERYONE` - Anyone can view (default)\n- `MUTUAL_FOLLOW_FRIENDS` - Only mutual followers can view\n- `SELF_ONLY` - Only you can view (private)\n\n**Note:** If set to `SELF_ONLY`, `videoDisclosure` must be `false`.",
            "example": "PUBLIC_TO_EVERYONE",
            "enum": [
              "PUBLIC_TO_EVERYONE",
              "MUTUAL_FOLLOW_FRIENDS",
              "SELF_ONLY"
            ]
          },
          "promoteOtherBrand": {
            "type": "boolean",
            "description": "Indicates if the video promotes a third-party brand or product.\n\n**Required:** Must be `true` if `videoDisclosure` is enabled and you're promoting another brand.",
            "example": false
          },
          "enableComment": {
            "type": "boolean",
            "description": "Allow users to comment on the video. Default is determined by account settings.",
            "example": true
          },
          "enableDuet": {
            "type": "boolean",
            "description": "Allow users to create Duet videos with your content.\n\n**Duet:** Side-by-side video featuring your content and the creator's reaction/addition.",
            "example": true
          },
          "enableStitch": {
            "type": "boolean",
            "description": "Allow users to create Stitch videos with your content.\n\n**Stitch:** Clips up to 5 seconds of your video that creators can use in their own videos.",
            "example": true
          },
          "videoDisclosure": {
            "type": "boolean",
            "description": "Enable branded content disclosure. Required when video is promotional content.\n\n**Validations:**\n- Cannot be `true` if `privacyLevel` is `SELF_ONLY`\n- If enabled, at least one of `promoteYourBrand` or `promoteOtherBrand` must be `true`",
            "example": false
          },
          "promoteYourBrand": {
            "type": "boolean",
            "description": "Indicates if the video promotes your own brand or product.\n\n**Required:** Must be `true` if `videoDisclosure` is enabled and you're promoting your own brand.",
            "example": false
          }
        },
        "required": [
          "privacyLevel"
        ]
      },
      "social_planner_v3_DateSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "number",
            "example": 2022,
            "description": "Year component of the date"
          },
          "month": {
            "type": "number",
            "example": 1,
            "description": "Month component of the date (1-12)"
          },
          "day": {
            "type": "number",
            "example": 1,
            "description": "Day component of the date (1-31)"
          }
        },
        "required": [
          "year",
          "month",
          "day"
        ]
      },
      "social_planner_v3_TimeSchema": {
        "type": "object",
        "properties": {
          "hours": {
            "type": "number",
            "example": 23,
            "description": "Hour component of the time (0-23)"
          },
          "minutes": {
            "type": "number",
            "example": 56,
            "description": "Minute component of the time (0-59)"
          },
          "seconds": {
            "type": "number",
            "example": 34,
            "description": "Second component of the time (0-59)"
          }
        },
        "required": [
          "hours",
          "minutes",
          "seconds"
        ]
      },
      "social_planner_v3_StartDateSchema": {
        "type": "object",
        "properties": {
          "startDate": {
            "description": "Start Date",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_DateSchema"
              }
            ],
            "example": {
              "year": 2024,
              "month": 1,
              "day": 15
            }
          },
          "startTime": {
            "description": "Start Time",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TimeSchema"
              }
            ],
            "example": {
              "hours": 10,
              "minutes": 30,
              "seconds": 0
            }
          }
        }
      },
      "social_planner_v3_EndDateSchema": {
        "type": "object",
        "properties": {
          "endDate": {
            "description": "End Date",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_DateSchema"
              }
            ],
            "example": {
              "year": 2024,
              "month": 1,
              "day": 20
            }
          },
          "endTime": {
            "description": "End Time",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TimeSchema"
              }
            ],
            "example": {
              "hours": 18,
              "minutes": 0,
              "seconds": 0
            }
          }
        }
      },
      "social_planner_v3_GMBPostSchema": {
        "type": "object",
        "properties": {
          "gmbEventType": {
            "type": "string",
            "description": "Google My Business post type.\n\n**Available Types:**\n- `STANDARD` - Regular update post (What's New)\n- `EVENT` - Event announcement with dates and title\n- `OFFER` - Promotional offer with coupon and redemption details\n\n**Required fields by type:**\n- STANDARD: None additional\n- EVENT: `title`, `startDate`, `endDate`\n- OFFER: `offerTitle`, `startDate`, `endDate`, `termsConditions`, `couponCode`, `redeemOnlineUrl`",
            "example": "STANDARD",
            "enum": [
              "STANDARD",
              "EVENT",
              "OFFER"
            ]
          },
          "title": {
            "type": "string",
            "description": "Event title. Required when `gmbEventType` is `EVENT`.\n\n**Max length:** 58 characters",
            "example": "Summer Sale Event 2024"
          },
          "offerTitle": {
            "type": "string",
            "description": "Offer title. Required when `gmbEventType` is `OFFER`.",
            "example": "50% Off All Products"
          },
          "startDate": {
            "description": "Start date and time for EVENT or OFFER posts.\n\n**Required:** When `gmbEventType` is `EVENT` or `OFFER`.\n\n**Structure:**\n- `startDate`: { year, month, day }\n- `startTime`: { hours, minutes, seconds }",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_StartDateSchema"
              }
            ],
            "example": {
              "startDate": {
                "year": 2024,
                "month": 1,
                "day": 15
              },
              "startTime": {
                "hours": 10,
                "minutes": 0,
                "seconds": 0
              }
            }
          },
          "endDate": {
            "description": "End date and time for EVENT or OFFER posts.\n\n**Required:** When `gmbEventType` is `EVENT` or `OFFER`.\n**Validation:** Must be after `startDate`.\n\n**Structure:**\n- `endDate`: { year, month, day }\n- `endTime`: { hours, minutes, seconds }",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_EndDateSchema"
              }
            ],
            "example": {
              "endDate": {
                "year": 2024,
                "month": 1,
                "day": 20
              },
              "endTime": {
                "hours": 18,
                "minutes": 0,
                "seconds": 0
              }
            }
          },
          "termsConditions": {
            "type": "string",
            "description": "URL to terms and conditions page. Required for OFFER posts.",
            "example": "https://yoursite.com/terms-and-conditions"
          },
          "url": {
            "type": "string",
            "description": "Call-to-action URL. Required when `actionType` is set (except `none` and `call`).\n\n**Required for:** STANDARD and EVENT posts with actionType other than `none` or `call`.",
            "example": "https://yoursite.com/book-now"
          },
          "couponCode": {
            "type": "string",
            "description": "Promotional coupon code. Required for OFFER posts.",
            "example": "SAVE50"
          },
          "redeemOnlineUrl": {
            "type": "string",
            "description": "URL where customers can redeem the offer online. Required for OFFER posts.",
            "example": "https://yoursite.com/redeem-offer"
          },
          "actionType": {
            "type": "string",
            "description": "Call-to-action button type for the post.\n\n**Available Actions:**\n- `none` - No action button\n- `order` - Order online\n- `book` - Book appointment\n- `shop` - Shop now\n- `learn_more` - Learn more\n- `call` - Call now (no URL required)\n- `sign_up` - Sign up\n\n**Note:** All actions except `none` and `call` require a `url`.",
            "example": "book",
            "enum": [
              "none",
              "order",
              "book",
              "shop",
              "learn_more",
              "call",
              "sign_up"
            ]
          }
        },
        "required": [
          "gmbEventType"
        ]
      },
      "social_planner_v3_BlueskyPostSchema": {
        "type": "object",
        "properties": {
          "shortenedLinks": {
            "description": "Shortened links for the post (auto-generated).",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "replyTo": {
            "type": "string",
            "description": "Bluesky AT Protocol URI of a post to reply to.\n\n**Format:** `at://did:plc:{user-id}/app.bsky.feed.post/{post-id}`\n\n**Use Case:** Create a reply thread to an existing Bluesky post.",
            "example": "at://did:plc:abc123def456/app.bsky.feed.post/xyz789"
          },
          "quotePost": {
            "type": "string",
            "description": "Bluesky AT Protocol URI of a post to quote.\n\n**Format:** `at://did:plc:{user-id}/app.bsky.feed.post/{post-id}`\n\n**Use Case:** Quote-post another user's post with your commentary.",
            "example": "at://did:plc:abc123def456/app.bsky.feed.post/xyz789"
          },
          "language": {
            "type": "string",
            "description": "ISO 639-1 language code for the post content.\n\n**Examples:** `en` (English), `es` (Spanish), `fr` (French), `de` (German)",
            "example": "en"
          },
          "externalLink": {
            "type": "string",
            "description": "External URL to embed as a link card in the post.",
            "example": "https://yoursite.com/article"
          },
          "externalLinkTitle": {
            "type": "string",
            "description": "Title for the external link card. Displayed prominently in the embed.",
            "example": "10 Tips for Better Social Media Marketing"
          },
          "externalLinkDescription": {
            "type": "string",
            "description": "Description for the external link card. Brief summary displayed below the title.",
            "example": "Learn how to improve your social media presence with these proven strategies."
          }
        }
      },
      "social_planner_v3_LinkedinPollOptionDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string",
            "description": "Text describing the option. Max length: 30 characters.",
            "example": "Red",
            "maxLength": 30
          }
        },
        "required": [
          "text"
        ]
      },
      "social_planner_v3_LinkedinPollSettingsDto": {
        "type": "object",
        "properties": {
          "duration": {
            "type": "string",
            "description": "Duration the poll stays open for votes.",
            "enum": [
              "ONE_DAY",
              "THREE_DAYS",
              "SEVEN_DAYS",
              "FOURTEEN_DAYS"
            ],
            "example": "SEVEN_DAYS"
          }
        },
        "required": [
          "duration"
        ]
      },
      "social_planner_v3_LinkedinPollDto": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "Question for the poll. Max length: 140 characters.",
            "example": "What is your favorite color?",
            "maxLength": 140
          },
          "options": {
            "description": "Poll options. Minimum 2, maximum 4. Each option text max 30 characters. Option texts must be unique.",
            "minItems": 2,
            "maxItems": 4,
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_LinkedinPollOptionDto"
            }
          },
          "settings": {
            "description": "Poll settings (duration).",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_LinkedinPollSettingsDto"
              }
            ]
          }
        },
        "required": [
          "question",
          "options",
          "settings"
        ]
      },
      "social_planner_v3_LinkedinPostSchema": {
        "type": "object",
        "properties": {
          "pdfTitle": {
            "type": "string",
            "description": "Title for the PDF document carousel. Displayed as the document name on LinkedIn.\n\n**Max length:** 100 characters\n\n**Tip:** Use a descriptive title that explains the document content.",
            "example": "Q4 Marketing Strategy Presentation"
          },
          "postAsPdf": {
            "type": "boolean",
            "description": "Post images as a PDF document carousel.\n\n**Limits:**\n- Max 300 pages/images\n- Max PDF size: 100 MB",
            "example": true
          },
          "poll": {
            "description": "Publish a LinkedIn poll post.\n\n**Required fields when `poll` is supplied:**\n- `question` (max 140 characters)\n- `options`: 2 to 4 entries, each `text` ≤ 30 characters; option texts must be unique\n- `settings.duration`: one of `ONE_DAY`, `THREE_DAYS`, `SEVEN_DAYS`, `FOURTEEN_DAYS`\n\n**LinkedIn restrictions:**\n- Polls cannot be edited after publishing.\n- A poll post cannot include `media` or a meta-link preview.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_LinkedinPollDto"
              }
            ]
          }
        },
        "required": [
          "pdfTitle",
          "postAsPdf"
        ]
      },
      "social_planner_v3_PinterestBoardSelection": {
        "type": "object",
        "description": "Per-account Pinterest board selection. Each entry binds one connected Pinterest account to a list of board IDs the pin should publish to. Each selected board produces an independent child post tracked separately for success/failure.",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Connected Pinterest account ID. Must match one of the accounts referenced in the post's `userIds`.",
            "example": "6887d6de1d8175813d50dab8"
          },
          "boards": {
            "type": "array",
            "description": "Pinterest board IDs to publish to on this account. Each board produces an independent child post. Capped at 25 boards per account.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 25,
            "example": [
              "987654321098765432",
              "234567890123456789"
            ]
          }
        },
        "required": [
          "accountId",
          "boards"
        ]
      },
      "social_planner_v3_PinterestPostSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Pin title displayed on Pinterest.\n\n**Max length:** 100 characters\n\n**Best Practices:**\n- Include relevant keywords\n- Be descriptive and engaging",
            "example": "10 Easy Home Decor Ideas for 2024"
          },
          "link": {
            "type": "string",
            "description": "Destination URL for the pin. Users clicking the pin will be directed to this URL.\n\n**Max length:** 2048 characters\n\n**Best Practices:**\n- Use direct links to relevant content\n- Track with UTM parameters for analytics",
            "example": "https://yoursite.com/blog/home-decor-ideas"
          },
          "boardIds": {
            "type": "object",
            "deprecated": true,
            "description": "**DEPRECATED — use `pinterestBoards` instead.** Will be removed on July 31, 2026.\n\nLegacy mapping of Pinterest account OAuth IDs to a single board ID:\n`{ accountOAuthId: \"boardId\" }`\n\nFor multi-board posting, use `pinterestBoards`.",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "6887d6de1d8175813d50dab8": "987654321098765432"
            }
          },
          "pinterestBoards": {
            "description": "Per-account Pinterest board selection. Each entry binds one connected Pinterest account to a list of boards on that account. Each board produces an independent child post tracked separately for success/failure. Capped at 25 boards per account.\n\nWhen supplied, this field takes precedence over the deprecated `boardIds` field.",
            "example": [
              {
                "accountId": "6887d6de1d8175813d50dab8",
                "boards": [
                  "987654321098765432",
                  "234567890123456789"
                ]
              },
              {
                "accountId": "682c7d1710a2fe3d805a3513",
                "boards": [
                  "111222333444555666"
                ]
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PinterestBoardSelection"
            }
          },
          "shortenedLinks": {
            "description": "Shortened links for the post (auto-generated).",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "social_planner_v3_FacebookPostSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Facebook post format type.\n\n**Available Types:**\n- `post` - Standard feed post (images, videos, text)\n- `story` - 24-hour temporary story\n- `reel` - Short-form vertical video\n\n**Restrictions:**\n- Reels: Require exactly 1 video, not supported on Groups\n- Stories: Captions not supported",
            "example": "post",
            "enum": [
              "post",
              "story",
              "reel"
            ]
          },
          "textFormatPresetId": {
            "type": "string",
            "description": "Facebook background preset ID for text-only feed posts. **Facebook `post` only** — not `story` or `reel`. Ignored when media is attached; `metaLink` is omitted on publish.\n\n**Validations** — request returns `400` if violated:\n- Must be a valid preset ID from the [Facebook text background preset reference](https://docs.crm.gesvision.com/guides/social-planner). Empty strings, whitespace-only values, and `null` are rejected.\n- When set, `summary` must be 130 characters or fewer.",
            "example": "303063890126415"
          }
        },
        "required": [
          "type"
        ]
      },
      "social_planner_v3_InstagramPostSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Instagram post format type.\n\n**Available Types:**\n- `post` - Standard feed post (images, videos, carousels)\n- `story` - 24-hour temporary story\n- `reel` - Short-form vertical video (up to 90 seconds)\n\n**Restrictions:**\n- Media is REQUIRED for all Instagram posts\n- Reels: Require exactly 1 video\n- Stories: Captions not supported, JPEG only for images",
            "example": "post",
            "enum": [
              "post",
              "story",
              "reel"
            ]
          },
          "collaborators": {
            "type": "object",
            "description": "Object mapping account IDs to arrays of associated usernames for collaboration. Only allowed for type \"post\" and \"reels\"",
            "example": {
              "accountId1": [
                "username1",
                "username2"
              ],
              "accountId2": [
                "username3",
                "username4"
              ]
            }
          },
          "showOnFeed": {
            "type": "boolean",
            "description": "Show Reel on profile grid/feed.\n\n**✅ Applies to:** Reels only\n\n- `true` - Reel appears on your profile grid\n- `false` - Reel only appears in Reels tab",
            "example": true
          },
          "publishViaPushNotification": {
            "type": "boolean",
            "description": "Send Instagram Story via Push  Notification instead of direct posting. Only applicable for Story type.",
            "example": true
          },
          "publisherNote": {
            "type": "string",
            "description": "Note to the publisher for manual posting guidance. Only used when publishViaPushNotification is true.",
            "example": "When publishing, add swipe up link to the landing page so that we can direct them to the sales page"
          }
        },
        "required": [
          "type"
        ]
      },
      "social_planner_v3_YoutubePostSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Video title displayed on YouTube.\n\n**Max length:** 100 characters\n\n**Best Practices:**\n- Include relevant keywords\n- Be descriptive but concise\n- Avoid clickbait",
            "example": "How to Build a Successful Marketing Strategy in 2024"
          },
          "privacyLevel": {
            "type": "string",
            "description": "Video visibility/privacy setting.\n\n**Available Values:**\n- `public` - Anyone can search and view\n- `unlisted` - Only people with the link can view\n- `private` - Only you can view",
            "example": "public",
            "enum": [
              "private",
              "public",
              "unlisted"
            ]
          },
          "type": {
            "type": "string",
            "description": "YouTube video format type.\n\n**Available Types:**\n- `video` - Standard YouTube video (landscape, any duration)\n- `short` - YouTube Shorts (vertical, up to 60 seconds)\n\n**Required field.**",
            "example": "video",
            "enum": [
              "video",
              "short"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "social_planner_v3_GetPostFormattedSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "61bb16833b3f2791f9715be2",
            "description": "MongoDB document ID of the post"
          },
          "source": {
            "type": "string",
            "description": "source must be one of the following values: composer, recurring, csv",
            "enum": [
              "composer",
              "csv",
              "recurring",
              "review",
              "rss"
            ],
            "example": "composer"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "platform": {
            "type": "string",
            "description": "platform must be one of the following values: google, facebook, instagram, linkedin, twitter, tiktok",
            "example": "google"
          },
          "thumbnail": {
            "type": "string",
            "description": "Post-level cover image (thumbnail) URL.\n\nFor posts that contain a video, this is the resolved cover image used for the first video in `media[]`. It is set automatically from the `thumbnail` provided on the first video media item at create/edit time, or auto-generated from the video when one is not supplied. Per-item thumbnails inside `media[]` are not retained on the response — the primary cover image lives on this field.",
            "example": "https://storage.googleapis.com/your-bucket/media/video-thumbnail.jpeg"
          },
          "displayDate": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Display date for the post"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Date when the post was created"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Date when the post was last updated"
          },
          "accountId": {
            "type": "string",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "Failed due to auth token"
          },
          "postId": {
            "type": "string",
            "example": "323534534435",
            "description": "Platform-specific post identifier"
          },
          "publishedAt": {
            "type": "string",
            "example": "2021-06-22T05:32:49.463Z",
            "description": "Date when the post was published"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "example": "Sample Summary",
            "description": "Content text of the post"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PostMediaSchema"
            },
            "example": [
              {
                "url": "https://example.com/image.jpg",
                "type": "image/jpeg",
                "caption": "Sample caption",
                "altText": "A sunset over the ocean with silhouetted palm trees"
              }
            ]
          },
          "status": {
            "type": "object",
            "description": "Status must be one of the following values: in_progress, draft, failed, published, scheduled, in_review, notification_sent, deleted",
            "example": "published"
          },
          "createdBy": {
            "type": "string",
            "example": "Lx1EI6YIgQYMQi0ytFXv",
            "description": "User ID who created the post"
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "tags": {
            "description": "Tag Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsSchema"
              }
            ],
            "example": {
              "metaImage": "https://example.com/image.jpg",
              "metaLink": "https://www.yahoo.com/",
              "ogTitle": "Page Title",
              "ogDescription": "Page Description"
            }
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_FormatedApprovalDetails"
              }
            ],
            "example": {
              "approver": "iVrVJ2uoXNF0wzcBzgl5",
              "approvalStatus": "approved"
            }
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TiktokPostSchema"
              }
            ],
            "example": {
              "privacyLevel": "PUBLIC_TO_EVERYONE",
              "enableComment": true
            }
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GMBPostSchema"
              }
            ],
            "example": {
              "gmbEventType": "STANDARD",
              "actionType": "BOOK"
            }
          },
          "blueskyPostDetails": {
            "description": "Bluesky Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_BlueskyPostSchema"
              }
            ]
          },
          "user": {
            "description": "User",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostUserSchema"
              }
            ],
            "example": {
              "id": "6284c43d519161e96cc09c13",
              "firstName": "Harry",
              "lastName": "Spencer",
              "email": "abc@xyc.com"
            }
          },
          "linkedinPostDetails": {
            "description": "Linkedin Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_LinkedinPostSchema"
              }
            ]
          },
          "pinterestPostDetails": {
            "description": "Pinterest Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PinterestPostSchema"
              }
            ]
          },
          "facebookPostDetails": {
            "description": "Facebook Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_FacebookPostSchema"
              }
            ]
          },
          "instagramPostDetails": {
            "description": "Instagram Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_InstagramPostSchema"
              }
            ]
          },
          "youtubePostDetails": {
            "description": "Youtube Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_YoutubePostSchema"
              }
            ]
          },
          "mediaOptimization": {
            "type": "boolean",
            "description": "Pass this parameter to optimize the image media",
            "example": true
          },
          "insights": {
            "description": "Aggregated engagement metrics for the published post. Populated asynchronously by the insights sync workers for supported platforms (Facebook, Instagram, LinkedIn, YouTube). Absent on posts that have not been synced yet or on platforms where insights are not supported.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostInsightsSchema"
              }
            ],
            "example": {
              "like": 12,
              "share": 3,
              "comment": 5
            }
          }
        },
        "required": [
          "locationId",
          "error",
          "type"
        ]
      },
      "social_planner_v3_PostInsightsSchema": {
        "type": "object",
        "description": "Aggregated engagement metrics for a published post.",
        "properties": {
          "like": {
            "type": "number",
            "description": "Total number of likes (or platform-equivalent reactions) on the post.",
            "example": 12
          },
          "share": {
            "type": "number",
            "description": "Total number of shares/reposts of the post.",
            "example": 3
          },
          "comment": {
            "type": "number",
            "description": "Total number of comments on the post.",
            "example": 5
          }
        }
      },
      "social_planner_v3_PostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "posts": {
            "description": "Post Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
            },
            "example": [
              {
                "_id": "61bb16833b3f2791f9715be2",
                "locationId": "ve9EPM428h8vShlRW1KT",
                "platform": "google",
                "summary": "Sample Summary",
                "status": "published"
              }
            ]
          },
          "count": {
            "type": "number",
            "example": 6,
            "description": "Total count of posts"
          }
        }
      },
      "social_planner_v3_PostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Posts"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostSuccessfulResponseSchema"
              }
            ],
            "example": {
              "posts": [
                {
                  "_id": "61bb16833b3f2791f9715be2",
                  "locationId": "ve9EPM428h8vShlRW1KT",
                  "status": "published",
                  "insights": {
                    "like": 12,
                    "share": 3,
                    "comment": 5
                  }
                }
              ],
              "count": 6
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_PostApprovalSchema": {
        "type": "object",
        "properties": {
          "approver": {
            "type": "string",
            "description": "User ID of the designated approver.\n\n**Note:** The approver will receive a notification when a post is submitted for review.",
            "example": "iVrVJ2uoXNF0wzcBzgl5"
          },
          "requesterNote": {
            "type": "string",
            "description": "Note from the post creator to the approver explaining the post or requesting specific feedback.",
            "example": "Please review the messaging for our Q4 campaign launch. Let me know if the CTA needs adjustment."
          },
          "approverNote": {
            "type": "string",
            "description": "Note from the approver to the post creator with feedback or approval comments.",
            "example": "Approved! Great content. Consider adding more hashtags for visibility."
          },
          "approvalStatus": {
            "type": "string",
            "description": "Current approval status of the post.\n\n**Available Values:**\n- `pending` - Awaiting approver review\n- `approved` - Approved and ready for publishing\n- `rejected` - Rejected by approver (needs revision)\n- `not_required` - No approval workflow needed",
            "example": "pending",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "not_required"
            ]
          }
        }
      },
      "social_planner_v3_CreatePostDTO": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account IDs for the post. Each account ID identifies a connected social media account.\n\n**Get IDs from:** [Get Accounts API](./get-account) — use the `id` field from each account.\n\n**Validations:**\n- Required for non-draft posts\n- Must be a non-empty array\n- All account IDs must be valid connected accounts for the location",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "description": "Post content/caption text. Character limits vary by platform.\n\n**Custom Values & Hashtags:**\n- You can include custom values/variables in the content (e.g., `{{contact.name}}`)\n- Hashtags: Use `#hashtag` format. Instagram allows max 30 hashtags.\n- Mentions: Use platform-specific mention format (see `mentions` field for structured mentions)\n\n**Validations:**\n- Instagram/Facebook Story: Caption NOT supported for direct publishing\n- Facebook, LinkedIn, GMB: Content OR media is required (at least one)\n- Content is automatically trimmed to platform limits\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "example": "Hello World! Check out our latest updates. #social #marketing"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PostMediaSchema"
            },
            "example": [
              {
                "url": "https://example.com/image.jpg",
                "type": "image/jpeg",
                "caption": "Sample caption",
                "altText": "A sunset over the ocean with silhouetted palm trees"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "Post status indicating the current state of the post.\n\n**Available Status Values:**\n- `draft` - Post saved as draft, not yet ready for publishing\n- `scheduled` - Post scheduled for future publishing (requires `scheduleDate`)\n- `in_review` - Post pending approval (requires `scheduleDate` and `postApprovalDetails`)\n- `published` - Post has been published\n- `in_progress` - Post is currently being processed\n- `pending` - Post is awaiting platform processing for Instagram media container creation\n- `failed` - Post publishing failed\n- `notification_sent` - Story notification sent (for manual story posting)\n- `deleted` - Post has been deleted\n\n**Validations:**\n- `scheduled` or `in_review` status requires `scheduleDate` to be set\n- Draft posts skip most validations (accountIds, media requirements)",
            "example": "scheduled",
            "enum": [
              "draft",
              "scheduled",
              "in_review",
              "published",
              "in_progress",
              "pending",
              "failed",
              "notification_sent",
              "deleted"
            ]
          },
          "scheduleDate": {
            "type": "string",
            "description": "Schedule Date",
            "example": "2024-01-15T10:00:00Z"
          },
          "selectedBestTime": {
            "type": "string",
            "description": "Selected Best Time slot for scheduling",
            "example": "2024-01-15T10:00:00Z"
          },
          "createdBy": {
            "type": "string",
            "description": "User ID of the creator who is creating/managing the post. Must be a valid MongoDB ObjectId.\n\n**Get User IDs from:** [Get User API](../users/get-user) — use the `id` field from the user object.\n\n**Validation:** Must be a valid MongoDB ObjectId.",
            "example": "65f151c99bc2bf3aaf970d72"
          },
          "followUpComment": {
            "type": "string",
            "description": "Follow-up comment to be posted immediately after the main post is published.\n\n**Supported Platforms:** Facebook, Instagram, LinkedIn, YouTube\n\n**NOT Supported:** TikTok, Google My Business (GMB), Pinterest\n\n**Use Case:** Great for adding hashtags, additional context, or engagement prompts without cluttering the main post.\n\n- Follow-up comment is automatically trimmed to platform limits\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "example": "What do you think? Let us know in the comments!"
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsSchema"
              }
            ],
            "example": {
              "metaImage": "https://example.com/image.jpg",
              "metaLink": "https://www.yahoo.com/",
              "ogTitle": "Page Title",
              "ogDescription": "Page Description"
            }
          },
          "type": {
            "type": "string",
            "description": "Type of post to create. Determines the format and platform requirements.\n\n**Available Types:**\n- `post` - Standard feed post (all platforms)\n- `story` - Temporary 24-hour story (Instagram, Facebook)\n- `reel` - Short-form video content (Instagram, Facebook, TikTok, YouTube)\n\n**Customize Per Platform:**\nYou can specify different content/types per platform using `facebookPostDetails.type`, `instagramPostDetails.type`, etc.\n\n**Validations:**\n- Reels require exactly 1 video\n- Stories: Caption not supported for Instagram/Facebook\n- Facebook Groups do not support Reels",
            "example": "post",
            "enum": [
              "post",
              "story",
              "reel"
            ]
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostApprovalSchema"
              }
            ],
            "example": {
              "approver": "iVrVJ2uoXNF0wzcBzgl5",
              "approvalStatus": "pending"
            }
          },
          "scheduleTimeUpdated": {
            "type": "boolean",
            "description": "Flag indicating if the schedule datetime was manually updated. Used for tracking rescheduled posts.",
            "example": true
          },
          "tags": {
            "description": "Array of Tag IDs to associate with the post for organization and filtering.\n\n**Get Tag IDs from:** [Get Tags API](./social-planner/get-tags-location-id) — use the `_id` field from each tag.\n\n**Validation:** All IDs must be valid MongoDB ObjectIds.",
            "example": [
              "65f151c99bc2bf3aaf970d72",
              "65f151c99bc2bf3aaf970d73"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID to organize the post. Categories help group related posts.\n\n**Get Category IDs from:** [Get Categories API](./social-planner/get-categories-location-id) — use the `_id` field.\n\n**Validation:** Must be a valid MongoDB ObjectId.",
            "example": "65f151c99bc2bf3aaf970d72"
          },
          "applyWatermark": {
            "type": "boolean",
            "description": "Apply watermark to media in this post.\n\n**Note:** Watermarks are applied to images only. Videos are not watermarked.",
            "example": true
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TiktokPostSchema"
              }
            ],
            "example": {
              "privacyLevel": "PUBLIC_TO_EVERYONE",
              "enableComment": true,
              "enableDuet": false
            }
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GMBPostSchema"
              }
            ],
            "example": {
              "gmbEventType": "STANDARD",
              "actionType": "BOOK",
              "url": "https://example.com"
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID of the user creating/managing the post. Required for OAuth channel posts (non-draft).",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          },
          "linkedinPostDetails": {
            "description": "LinkedIn-specific post configuration.\n\n**Key Fields:**\n- `postAsPdf`: Set to `true` to post images as a PDF carousel document\n- `pdfTitle`: Title for the PDF document (max 100 characters)\n\n**Limits:**\n- Max 9 images/videos for regular posts\n- Max 300 pages for PDF carousel\n- Max PDF size: 100 MB\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_LinkedinPostSchema"
              }
            ]
          },
          "pinterestPostDetails": {
            "description": "Pinterest-specific post configuration. Required when posting to Pinterest accounts.\n\n**Required Fields:**\n- `boardIds`: Object mapping account OAuth IDs to Pinterest board IDs\n\n**Optional Fields:**\n- `title`: Pin title (max 100 characters)\n- `link`: Destination URL for the pin (max 2048 characters)\n\n**Get Board IDs:** Use the Pinterest boards API or retrieve from connected account details.\n\n**Limits:**\n- Max 1 image/video per pin\n- Caption max 800 characters\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PinterestPostSchema"
              }
            ]
          },
          "facebookPostDetails": {
            "description": "Facebook-specific post configuration.\n\n**Key Fields:**\n- `type`: Post type (`post`, `story`, `reel`)\n\n**Restrictions:**\n- Facebook Groups do NOT support Reels\n- Reels require exactly 1 video\n- Stories do not support captions\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_FacebookPostSchema"
              }
            ]
          },
          "instagramPostDetails": {
            "description": "Instagram-specific post configuration.\n\n**Key Fields:**\n- `type`: Post type (`post`, `story`, `reel`)\n- `collaborators`: Map of account IDs to Instagram usernames for collaboration invites (max 3 per account)\n- `showOnFeed`: Show reel on profile feed (for reels)\n\n**Collaborators Structure:**\n```json\n{ \"accountId\": [\"username1\", \"username2\"] }\n```\nWhere `accountId` is from [Get Accounts API](./get-account) and usernames are Instagram handles without @.\n\n**Restrictions:**\n- Media is REQUIRED for all Instagram posts\n- Max 30 hashtags allowed in caption\n- Stories do not support captions\n- Collaborators: Posts/Reels only (NOT Stories)\n- Reels require exactly 1 video\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_InstagramPostSchema"
              }
            ]
          },
          "youtubePostDetails": {
            "description": "YouTube-specific post configuration.\n\n**Key Fields:**\n- `title`: Video title (max 100 characters)\n- `type`: Video type (`video` for regular videos, `short` for YouTube Shorts)\n- `privacyLevel`: Video visibility (`private`, `public`, `unlisted`)\n\n**Limits:**\n- Max 1 video per post\n- Caption (description) max 5,000 characters\n\n**Requirements:**\n- Video is REQUIRED for YouTube posts\n- `type` field is required",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_YoutubePostSchema"
              }
            ]
          }
        },
        "required": [
          "type",
          "accountIds",
          "userId"
        ]
      },
      "social_planner_v3_CreatePostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "post": {
            "description": "Post Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
              }
            ],
            "example": {
              "_id": "61bb16833b3f2791f9715be2",
              "locationId": "ve9EPM428h8vShlRW1KT",
              "platform": "google",
              "summary": "Sample Summary",
              "status": "published"
            }
          }
        }
      },
      "social_planner_v3_CreatePostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Created Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CreatePostSuccessfulResponseSchema"
              }
            ],
            "example": {
              "post": {
                "_id": "61bb16833b3f2791f9715be2",
                "locationId": "ve9EPM428h8vShlRW1KT",
                "status": "published",
                "insights": {
                  "like": 12,
                  "share": 3,
                  "comment": 5
                }
              }
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_GetPostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "post": {
            "description": "Post Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
              }
            ],
            "example": {
              "_id": "61bb16833b3f2791f9715be2",
              "locationId": "ve9EPM428h8vShlRW1KT",
              "platform": "google",
              "summary": "Sample Summary",
              "status": "published"
            }
          }
        }
      },
      "social_planner_v3_GetPostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostSuccessfulResponseSchema"
              }
            ],
            "example": {
              "post": {
                "_id": "61bb16833b3f2791f9715be2",
                "locationId": "ve9EPM428h8vShlRW1KT",
                "status": "published",
                "insights": {
                  "like": 12,
                  "share": 3,
                  "comment": 5
                }
              }
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_PostCreateRequest": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "description": "Post Content \n The limitations of content as per the platforms is provided through the reference link in API description",
            "example": "Hello World"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PostMediaSchema"
            },
            "example": [
              {
                "url": "https://example.com/image.jpg",
                "type": "image/jpeg",
                "caption": "Sample caption",
                "altText": "A sunset over the ocean with silhouetted palm trees"
              }
            ]
          },
          "status": {
            "type": "object",
            "description": "Status must be one of the following values: in_progress, draft, failed, published, scheduled, in_review, notification_sent, deleted",
            "example": "draft"
          },
          "scheduleDate": {
            "type": "string",
            "description": "Schedule Date",
            "example": "2024-01-15T10:00:00Z"
          },
          "createdBy": {
            "type": "string",
            "description": "User ID of the creator who is creating/managing the post. Must be a valid MongoDB ObjectId.\n\n**Get User IDs from:** [Get User API](../users/get-user) — use the `id` field from the user object.\n\n**Validation:** Must be a valid MongoDB ObjectId.",
            "example": "65f151c99bc2bf3aaf970d72"
          },
          "followUpComment": {
            "type": "string",
            "description": "Follow-up comment to be posted immediately after the main post is published.\n\n**Supported Platforms:** Facebook, Instagram, LinkedIn, YouTube\n\n**NOT Supported:** TikTok, Google My Business (GMB), Pinterest\n\n**Use Case:** Great for adding hashtags, additional context, or engagement prompts without cluttering the main post.\n\n- Follow-up comment is automatically trimmed to platform limits\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "example": "What do you think? Let us know in the comments!"
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsSchema"
              }
            ]
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostApprovalSchema"
              }
            ]
          },
          "scheduleTimeUpdated": {
            "type": "boolean",
            "description": "if schedule datetime is updated",
            "example": true
          },
          "tags": {
            "description": "Array of Tag Value",
            "example": [
              "Tag1"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category Id"
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TiktokPostSchema"
              }
            ]
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GMBPostSchema"
              }
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        },
        "required": [
          "type"
        ]
      },
      "social_planner_v3_UpdatePostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Updated Post"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_DeletePostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "postId": {
            "type": "string",
            "description": "Platform-specific post identifier",
            "example": "323534534435"
          }
        }
      },
      "social_planner_v3_DeletePostSuccessfulResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Post"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_DeletePostSuccessfulResponseSchema"
              }
            ],
            "example": {
              "postId": "323534534435"
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_GetAccountSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "aF3KhyL8JIuBwzK3m7Ly_Lx1EI6YIgQYMQi0ytFXv_12554616564525983496",
            "description": "Unique identifier for the connected account"
          },
          "oauthId": {
            "type": "string",
            "example": "aF3KhyL8JIuBwzK3m7Ly",
            "description": "OAuth provider account identifier"
          },
          "profileId": {
            "type": "string",
            "example": "aF3KhyL8JIuBwzK3m7Ly",
            "description": "Profile identifier from the social media platform"
          },
          "name": {
            "type": "string",
            "example": "Sample Account",
            "description": "Display name of the account"
          },
          "platform": {
            "type": "string",
            "description": "platform must be one of the following values: google, facebook, instagram, linkedin, tiktok",
            "example": "google"
          },
          "type": {
            "type": "string",
            "example": "location",
            "description": "Type of account (e.g., location, page, profile)"
          },
          "expire": {
            "type": "string",
            "example": "2024-03-11T19:29:59.785Z",
            "description": "Token expiration date and time"
          },
          "isExpired": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if the account token has expired"
          },
          "meta": {
            "type": "object",
            "example": {
              "hasGoogleUpdated": true,
              "canDelete": true
            },
            "description": "Additional metadata for the account"
          }
        }
      },
      "social_planner_v3_GetGroupSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Group Id",
            "example": "6284c43d519161e96cc09c13"
          },
          "name": {
            "type": "string",
            "description": "name of group",
            "example": "Primary"
          },
          "accountIds": {
            "example": [
              "6494063f4260855c1c5776b5_mhoUgTPkz19vjF5Qu7Av_2774080328752823730"
            ],
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of account IDs belonging to this group"
          }
        },
        "required": [
          "id",
          "name",
          "accountIds"
        ]
      },
      "social_planner_v3_AccountsListResponseSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_GetAccountSchema"
            },
            "description": "Array of connected social media accounts",
            "example": [
              {
                "id": "aF3KhyL8JIuBwzK3m7Ly_Lx1EI6YIgQYMQi0ytFXv_12554616564525983496",
                "name": "Sample Account",
                "platform": "google",
                "type": "location"
              }
            ]
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_GetGroupSchema"
            },
            "description": "Array of account groups",
            "example": [
              {
                "id": "6284c43d519161e96cc09c13",
                "name": "Primary",
                "accountIds": [
                  "6494063f4260855c1c5776b5_mhoUgTPkz19vjF5Qu7Av_2774080328752823730"
                ]
              }
            ]
          }
        }
      },
      "social_planner_v3_AccountsListResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Accounts"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_AccountsListResponseSchema"
              }
            ],
            "example": {
              "accounts": [
                {
                  "id": "aF3KhyL8JIuBwzK3m7Ly_Lx1EI6YIgQYMQi0ytFXv_12554616564525983496",
                  "name": "Sample Account",
                  "platform": "google"
                }
              ],
              "groups": [
                {
                  "id": "6284c43d519161e96cc09c13",
                  "name": "Primary"
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_DeleteAccountResponseSchema": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "id": {
            "type": "string",
            "description": "Id",
            "example": "65fac446d599990d1313c1dd"
          }
        }
      },
      "social_planner_v3_LocationAndAccountDeleteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_DeleteAccountResponseSchema"
              }
            ],
            "example": {
              "locationId": "ve9EPM428h8vShlRW1KT",
              "id": "65fac446d599990d1313c1dd"
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_FacebookPageSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Facebook page identifier",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "name": {
            "type": "string",
            "description": "Name of the Facebook page",
            "example": "FB Page"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL of the page",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "isOwned": {
            "type": "boolean",
            "description": "Indicates if the user owns this page",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "description": "Indicates if the page is currently connected",
            "example": true
          }
        }
      },
      "social_planner_v3_GetFacebookAccountsSchema": {
        "type": "object",
        "properties": {
          "pages": {
            "description": "Facebook Pages Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_FacebookPageSchema"
            }
          }
        }
      },
      "social_planner_v3_GetFacebookAccountsResponseDTO": {
        "title": "Facebook",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Facebook Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetFacebookAccountsSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachFBAccountDTO": {
        "title": "Facebook",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of Facebook account (must be page)",
            "example": "page",
            "enum": [
              "page"
            ]
          },
          "originId": {
            "type": "string",
            "description": "Original Facebook platform identifier",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "description": "Name of the Facebook page or account",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "https://storage.googleapis.com/2ad21ebc23/test"
          }
        },
        "required": [
          "type",
          "originId",
          "name",
          "avatar"
        ]
      },
      "social_planner_v3_SocialMediaFacebookAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "MongoDB document ID of the social media account",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "description": "OAuth provider account identifier",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "description": "Legacy account identifier for backward compatibility",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID associated with this account",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "description": "Original platform-specific account identifier",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "description": "Social media platform name",
            "example": "facebook"
          },
          "type": {
            "type": "object",
            "description": "type value must be page",
            "example": "page"
          },
          "name": {
            "type": "string",
            "description": "Display name of the account",
            "example": "Account Name"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "description": "Additional metadata for the account",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "description": "Indicates if the account is currently active",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Indicates if the account has been deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_planner_v3_SocialMediaFBAccountResponseDTO": {
        "title": "Facebook",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Facebook Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialMediaFacebookAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_InstagramAccountSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "idu37swmmLbA02zgqKPpxITe2",
            "description": "Instagram account identifier"
          },
          "name": {
            "type": "string",
            "example": "Insta account",
            "description": "Display name of the Instagram account"
          },
          "avatar": {
            "type": "string",
            "example": "avau37swmmLbA02zgqKPpxITe2",
            "description": "Avatar or profile picture URL"
          },
          "pageId": {
            "type": "string",
            "example": "pidu37swmmLbA02zgqKPpxITe2",
            "description": "Facebook page ID associated with the Instagram account"
          },
          "isConnected": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account is currently connected"
          }
        }
      },
      "social_planner_v3_GetInstagramAccountsSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "description": "Instagram Account Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_InstagramAccountSchema"
            },
            "example": [
              {
                "id": "idu37swmmLbA02zgqKPpxITe2",
                "name": "Insta account",
                "avatar": "avau37swmmLbA02zgqKPpxITe2",
                "pageId": "pidu37swmmLbA02zgqKPpxITe2",
                "isConnected": true
              }
            ]
          }
        }
      },
      "social_planner_v3_GetInstagramAccountsResponseDTO": {
        "title": "Instagram",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Instagram Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetInstagramAccountsSchema"
              }
            ],
            "example": {
              "accounts": [
                {
                  "id": "idu37swmmLbA02zgqKPpxITe2",
                  "name": "Insta account",
                  "avatar": "avau37swmmLbA02zgqKPpxITe2",
                  "pageId": "pidu37swmmLbA02zgqKPpxITe2",
                  "isConnected": true
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachIGAccountDTO": {
        "title": "Instagram",
        "type": "object",
        "properties": {
          "originId": {
            "type": "string",
            "description": "Original platform-specific account identifier",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "description": "Display name of the account",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "https://storage.googleapis.com/2ad21ebc23/test"
          },
          "pageId": {
            "type": "string",
            "description": "Facebook page ID associated with the Instagram account",
            "example": "234234234242sd"
          }
        },
        "required": [
          "pageId"
        ]
      },
      "social_planner_v3_SocialMediaInstagramAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856",
            "description": "MongoDB document ID of the social media account"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "OAuth provider account identifier"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Legacy account identifier for backward compatibility"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Location ID associated with this account"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Original platform-specific account identifier"
          },
          "platform": {
            "type": "object",
            "example": "instagram",
            "description": "Social media platform name"
          },
          "type": {
            "type": "object",
            "example": "profile",
            "description": "Type of account (e.g., location, page, profile)"
          },
          "name": {
            "type": "string",
            "example": "Profile Name",
            "description": "Display name of the account"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Avatar or profile picture URL"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            },
            "description": "Additional metadata for the account"
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account is currently active"
          },
          "deleted": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account has been deleted"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_planner_v3_SocialMediaInstagramAccountResponseDTO": {
        "title": "Instagram",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Instagram Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialMediaInstagramAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_LinkedInPageSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Page ID",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "LinkedIn Page Name",
            "example": "Sample Name"
          },
          "avatar": {
            "type": "string",
            "description": "Profile Avatar url",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "urn": {
            "type": "string",
            "description": "URN",
            "example": "urn:li:organization:80847980"
          },
          "isConnected": {
            "type": "boolean",
            "description": "is connected to app",
            "example": true
          }
        }
      },
      "social_planner_v3_LinkedInProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "Name of profile",
            "example": "Profile Name"
          },
          "avatar": {
            "type": "string",
            "description": "Profile avatar",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "urn": {
            "type": "string",
            "description": "URN",
            "example": "urn:li:person:ABC123XYZ"
          },
          "isConnected": {
            "type": "boolean",
            "description": "is connected to app",
            "example": true
          }
        }
      },
      "social_planner_v3_GetLinkedInAccountSchema": {
        "type": "object",
        "properties": {
          "pages": {
            "description": "LinkedIn Pages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_LinkedInPageSchema"
            },
            "example": [
              {
                "id": "w37swmmLbA02zgqKPpxITe",
                "name": "Sample Name",
                "avatar": "w37swmmLbA02zgqKPpxITe",
                "urn": "urn:li:organization:80847980",
                "isConnected": true
              }
            ]
          },
          "profile": {
            "description": "LinkedIn Profile Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_LinkedInProfileSchema"
            },
            "example": [
              {
                "id": "w37swmmLbA02zgqKPpxITe",
                "name": "Profile Name",
                "avatar": "w37swmmLbA02zgqKPpxITe",
                "urn": "urn:li:person:ABC123XYZ",
                "isConnected": true
              }
            ]
          }
        }
      },
      "social_planner_v3_GetLinkedInAccountsResponseDTO": {
        "title": "Linkedin",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched LinkedIn Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetLinkedInAccountSchema"
              }
            ],
            "example": {
              "pages": [
                {
                  "id": "w37swmmLbA02zgqKPpxITe",
                  "name": "Sample Name",
                  "avatar": "w37swmmLbA02zgqKPpxITe",
                  "urn": "urn:li:organization:80847980",
                  "isConnected": true
                }
              ],
              "profile": [
                {
                  "id": "w37swmmLbA02zgqKPpxITe",
                  "name": "Profile Name",
                  "avatar": "w37swmmLbA02zgqKPpxITe",
                  "urn": "urn:li:person:ABC123XYZ",
                  "isConnected": true
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachLinkedinAccountDTO": {
        "title": "Linkedin",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of LinkedIn account (must be one of: page, profile)",
            "example": "page",
            "enum": [
              "page",
              "group",
              "profile",
              "location",
              "business"
            ]
          },
          "originId": {
            "type": "string",
            "description": "Original LinkedIn platform identifier",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "description": "Name of the LinkedIn page or profile",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "https://storage.googleapis.com/2ad21ebc23/test"
          },
          "urn": {
            "type": "string",
            "description": "LinkedIn URN (Uniform Resource Name) identifier",
            "example": "urn:li:organization:80847980"
          }
        },
        "required": [
          "type",
          "originId",
          "name",
          "avatar",
          "urn"
        ]
      },
      "social_planner_v3_SocialMediaLinkedInAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856",
            "description": "MongoDB document ID of the social media account"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "OAuth provider account identifier"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Legacy account identifier for backward compatibility"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Location ID associated with this account"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Original platform-specific account identifier"
          },
          "platform": {
            "type": "object",
            "example": "linkedin",
            "description": "Social media platform name"
          },
          "type": {
            "type": "object",
            "description": "type must be one of the following values: page, profile",
            "example": "profile"
          },
          "name": {
            "type": "string",
            "example": "Profile Name",
            "description": "Display name of the account"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Avatar or profile picture URL"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            },
            "description": "Additional metadata for the account"
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account is currently active"
          },
          "deleted": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account has been deleted"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_planner_v3_SocialMediaLinkedInAccountResponseDTO": {
        "title": "Linkedin",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added LinkedIn Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialMediaLinkedInAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_TwitterProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of profile",
            "example": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal"
          },
          "name": {
            "type": "string",
            "description": "Name of profile",
            "example": "Twitter Account name"
          },
          "username": {
            "type": "string",
            "description": "Username of profile",
            "example": "sample_user"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar of profile",
            "example": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal"
          },
          "protected": {
            "type": "boolean",
            "description": "Is protected",
            "example": true
          },
          "verified": {
            "type": "boolean",
            "description": "Is verified",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "description": "Is connected",
            "example": true
          }
        }
      },
      "social_planner_v3_GetTwitterAccountsSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Twitter Profile Details",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TwitterProfileSchema"
            },
            "example": [
              {
                "id": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal",
                "name": "Twitter Account name",
                "username": "sample_user",
                "avatar": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal",
                "protected": true,
                "verified": true,
                "isConnected": true
              }
            ]
          }
        }
      },
      "social_planner_v3_GetTwitterAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Twitter Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetTwitterAccountsSchema"
              }
            ],
            "example": {
              "profile": [
                {
                  "id": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal",
                  "name": "Twitter Account name",
                  "username": "sample_user",
                  "avatar": "ZHl1OWpfZEMyeWc5UjJOOU51RVNOal",
                  "protected": true,
                  "verified": true,
                  "isConnected": true
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachTwitterAccountDTO": {
        "type": "object",
        "properties": {
          "originId": {
            "type": "string",
            "example": "244405****11687",
            "description": "Original Twitter platform identifier"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO",
            "description": "Name of the Twitter account"
          },
          "username": {
            "type": "string",
            "example": "user_name",
            "description": "Username or handle of the Twitter account"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "https://storage.googleapis.com/2ad21ebc23/test"
          },
          "protected": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the Twitter account is protected (private)"
          },
          "verified": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the Twitter account is verified"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        }
      },
      "social_planner_v3_SocialMediaTwitterAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "65f2d989a4f2f1e5322c3856",
            "description": "MongoDB document ID of the social media account"
          },
          "oAuthId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "OAuth provider account identifier"
          },
          "oldId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Legacy account identifier for backward compatibility"
          },
          "locationId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Location ID associated with this account"
          },
          "originId": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Original platform-specific account identifier"
          },
          "platform": {
            "type": "object",
            "example": "twitter",
            "description": "Social media platform name"
          },
          "type": {
            "type": "object",
            "example": "profile",
            "description": "Type of account (e.g., location, page, profile)"
          },
          "name": {
            "type": "string",
            "example": "Profile Name",
            "description": "Display name of the account"
          },
          "avatar": {
            "type": "string",
            "example": "u37swmmLbA02zgqKPpxITe2",
            "description": "Avatar or profile picture URL"
          },
          "meta": {
            "type": "object",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            },
            "description": "Additional metadata for the account"
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account is currently active"
          },
          "deleted": {
            "type": "boolean",
            "example": true,
            "description": "Indicates if the account has been deleted"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_planner_v3_SocialMediaTwitterAccountResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Twitter Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialMediaTwitterAccountSchema"
              }
            ],
            "example": {
              "_id": "65f2d989a4f2f1e5322c3856",
              "oAuthId": "u37swmmLbA02zgqKPpxITe2",
              "oldId": "u37swmmLbA02zgqKPpxITe2",
              "locationId": "w37swmmLbA02zgqKPpxITe2",
              "originId": "244405****11687",
              "platform": "twitter",
              "type": "profile",
              "name": "Twitter Account Name",
              "avatar": "https://storage.googleapis.com/2ad21ebc23/test",
              "meta": {},
              "active": true,
              "deleted": false,
              "createdAt": "2024-03-14T11:03:37.015Z",
              "updatedAt": "2024-03-14T11:03:37.015Z"
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_UploadCSVDTO": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "social_planner_v3_UploadFileResponseSchema": {
        "type": "object",
        "properties": {
          "filePath": {
            "type": "string",
            "description": "File path of uploaded CSV",
            "example": "omaDY3RbWtTP511e/social-import/d23d68c2-82c0-1db6e2.csv"
          },
          "rowsCount": {
            "type": "number",
            "description": "Number of rows in the CSV",
            "example": 6
          },
          "fileName": {
            "type": "string",
            "description": "Name of the uploaded file",
            "example": "CSV Import Sample - CSV Import Sample.csv"
          },
          "fileSize": {
            "type": "number",
            "description": "Size of the file in bytes",
            "example": 1024
          },
          "csvFileType": {
            "type": "string",
            "description": "CSV file type",
            "example": "basic",
            "enum": [
              "basic",
              "advance"
            ]
          }
        }
      },
      "social_planner_v3_UploadFileResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Uploaded CSV"
          },
          "results": {
            "description": "Requested Results",
            "example": {
              "filePath": "omaDY3RbWtTP511e/social-import/d23d68c2-82c0-1db6e2.csv",
              "rowsCount": 6,
              "fileName": "sample.csv",
              "fileSize": 1024,
              "csvFileType": "basic"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_UploadFileResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SetAccountsDTO": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filePath": {
            "type": "string",
            "description": "File path",
            "example": "omaDY3RbWtTP511e/social-import/d23d68c2-82c0-1db6e2.csv"
          },
          "rowsCount": {
            "type": "number",
            "description": "Entries Count. rowsCount must be between 1 and number of posts in CSV",
            "example": 1
          },
          "fileName": {
            "type": "string",
            "description": "Name of file",
            "example": "test.csv"
          },
          "approver": {
            "type": "string",
            "description": "Approver User Id",
            "example": "o6241QsiRwUIJHyjuhos"
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "csvFileType": {
            "type": "string",
            "example": "basic",
            "description": "CSV file type - determines the format of the CSV file being imported",
            "enum": [
              "basic",
              "advance"
            ]
          }
        },
        "required": [
          "accountIds",
          "filePath",
          "rowsCount",
          "fileName",
          "userId"
        ]
      },
      "social_planner_v3_SetAccountsResultSchema": {
        "type": "object",
        "properties": {
          "csvId": {
            "type": "string",
            "description": "CSV Id",
            "example": "6953a0be84b7ff10f6025d53"
          }
        },
        "required": [
          "csvId"
        ]
      },
      "social_planner_v3_SetAccountsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Accounts Set Successfully"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SetAccountsResultSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SetAccountsUnprocessableDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP Status",
            "example": 422
          },
          "options": {
            "type": "object",
            "description": "Options",
            "example": {}
          },
          "message": {
            "description": "Validation error messages",
            "example": [
              "accountIds should not be null or undefined",
              "accountIds should not be empty",
              "accountIds must be an array",
              "Invalid account id in accountIds list"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string",
            "description": "Exception name",
            "example": "UnprocessableEntityException"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Unprocessable Entity"
          },
          "statusCode": {
            "type": "number",
            "description": "HTTP Status Code",
            "example": 422
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID for debugging",
            "example": "22b1c520-258a-4473-b378-a97ddfd9d1bc"
          }
        },
        "required": [
          "status",
          "message",
          "name",
          "error",
          "statusCode"
        ]
      },
      "social_planner_v3_CSVFileRequiredBadRequestDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP Status",
            "example": 400
          },
          "options": {
            "type": "object",
            "description": "Options",
            "example": {}
          },
          "message": {
            "type": "string",
            "description": "Error message",
            "example": "File is required"
          },
          "name": {
            "type": "string",
            "description": "Exception name",
            "example": "BadRequestException"
          },
          "error": {
            "type": "string",
            "description": "Error type",
            "example": "Bad Request"
          },
          "statusCode": {
            "type": "number",
            "description": "HTTP Status Code",
            "example": 400
          },
          "traceId": {
            "type": "string",
            "description": "Trace ID for debugging",
            "example": "376a2de3-a3a4-4588-a6b5-bafe828f614b"
          }
        },
        "required": [
          "status",
          "message",
          "name",
          "error",
          "statusCode"
        ]
      },
      "social_planner_v3_CSVErrorResponseDTO": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code for CSV processing errors",
            "enum": [
              "CSV_EMPTY_FILE",
              "CSV_INVALID_FORMAT",
              "CSV_HEADERS_NOT_MATCHING",
              "CSV_MISSING_HEADERS",
              "CSV_MISSING_REQUIRED_ROWS",
              "CSV_UNSUPPORTED_EXTENSION",
              "CSV_NO_VALID_POST",
              "CSV_PROCESSING_ERROR"
            ],
            "example": "CSV_HEADERS_NOT_MATCHING"
          },
          "message": {
            "type": "string",
            "description": "Error message describing the CSV validation error",
            "example": "CSV headers are not identical to sample file."
          },
          "fileType": {
            "type": "string",
            "description": "File type detected",
            "example": "CSV",
            "enum": [
              "CSV",
              "XLSX"
            ]
          },
          "csvFileType": {
            "type": "string",
            "description": "CSV file type",
            "example": "basic",
            "enum": [
              "basic",
              "advance"
            ]
          },
          "missingHeaders": {
            "type": "string",
            "description": "Comma-separated list of missing headers from the file",
            "example": "postAtSpecificTime (YYYY-MM-DD HH:mm:ss), content, link (OGmetaUrl)"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "social_planner_v3_CSVImportSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "CSV Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "iVrVJ2uoXNF0wzcBzgl5"
          },
          "fileName": {
            "type": "string",
            "description": "File Name",
            "example": "sample.csv"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "file": {
            "type": "string",
            "description": "File path",
            "example": "omaDY3RbWtTP511e/social-import/d23d68c2-82c0-1db6e2.csv"
          },
          "status": {
            "type": "string",
            "description": "CSV import status",
            "example": "completed",
            "enum": [
              "pending",
              "in_progress",
              "completed",
              "failed",
              "in_review",
              "importing",
              "deleted"
            ]
          },
          "count": {
            "type": "number",
            "description": "Posts count",
            "example": 5
          },
          "createdBy": {
            "type": "string",
            "description": "Created By Id",
            "example": "SDsdfdf45Dgs4w3ssss"
          },
          "traceId": {
            "type": "string",
            "description": "Trace Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "originId": {
            "type": "string",
            "description": "Origin Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "approver": {
            "type": "string",
            "description": "Approver Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Date Created",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "csvFileType": {
            "type": "string",
            "description": "CSV file type",
            "example": "basic",
            "enum": [
              "basic",
              "advance"
            ]
          },
          "mediaOptimization": {
            "type": "boolean",
            "description": "Media optimization flag",
            "example": true
          },
          "applyWatermark": {
            "type": "boolean",
            "description": "Apply watermark flag",
            "example": false
          },
          "channel": {
            "type": "string",
            "description": "Channel",
            "example": "oauth"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Date Updated",
            "example": "2023-08-02T00:00:00.000Z"
          }
        },
        "required": [
          "_id"
        ]
      },
      "social_planner_v3_GetUploadStatusResponseSchema": {
        "type": "object",
        "properties": {
          "csvs": {
            "description": "CSV Data",
            "example": [
              {
                "id": "ve9EPM428h8vShlRW1KT",
                "locationId": "iVrVJ2uoXNF0wzcBzgl5",
                "fileName": "sample.csv",
                "status": "completed",
                "count": 5
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CSVImportSchema"
            }
          },
          "count": {
            "type": "number",
            "description": "Total count of CSV records",
            "example": 6
          }
        },
        "required": [
          "csvs",
          "count"
        ]
      },
      "social_planner_v3_GetUploadStatusResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched CSV Upload Status"
          },
          "results": {
            "description": "Requested Results",
            "example": {
              "csvs": [
                {
                  "id": "ve9EPM428h8vShlRW1KT",
                  "locationId": "iVrVJ2uoXNF0wzcBzgl5",
                  "fileName": "sample.csv",
                  "status": "completed",
                  "count": 5
                }
              ],
              "count": 6
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetUploadStatusResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_OgImageSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Image url",
            "example": "https://knowledge.wharton.upenn.edu/wp-content/uploads/2019/07/072619_socialmedia_phonelikes-600x440.jpg"
          },
          "width": {
            "type": "number",
            "description": "Image width",
            "example": 400
          },
          "height": {
            "type": "number",
            "description": "Image height",
            "example": 400
          },
          "type": {
            "type": "string",
            "description": "Image Type",
            "example": "image/jpg"
          }
        }
      },
      "social_planner_v3_IOgTagsSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Tag url",
            "example": "https://knowledge.wharton.upenn.edu/article/impact-of-social-media/"
          },
          "ogDescription": {
            "type": "string",
            "description": "Tag description",
            "example": "Social media as we know it has barely"
          },
          "ogImage": {
            "description": "OG Image data",
            "example": {
              "url": "https://knowledge.wharton.upenn.edu/wp-content/uploads/2019/07/072619_socialmedia_phonelikes-600x440.jpg"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgImageSchema"
              }
            ]
          },
          "ogTitle": {
            "type": "string",
            "description": "Tag Title",
            "example": "The Impact of Social Media: Is it Irreplaceable?"
          },
          "ogUrl": {
            "type": "string",
            "description": "Tag Url",
            "example": "https://knowledge.wharton.upenn.edu/article/impact-of-social-media/"
          },
          "ogSiteName": {
            "type": "string",
            "description": "Site Name",
            "example": "Knowledge at Wharton"
          },
          "error": {
            "type": "string",
            "description": "Og Tag Error",
            "example": "InvalidLink"
          }
        }
      },
      "social_planner_v3_CSVMediaResponseSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Media Url",
            "example": "https://storage.googleapis.com/crm-test/omaDY3RbWtTP511e808O/media/38e53059-b92706571605.png"
          },
          "type": {
            "type": "string",
            "description": "Media Type",
            "example": "image/webp"
          },
          "size": {
            "type": "number",
            "description": "Media Size",
            "example": 18362
          },
          "width": {
            "type": "number",
            "description": "Media Width",
            "example": 500
          },
          "height": {
            "type": "number",
            "description": "Media Height",
            "example": 500
          },
          "aspectRatio": {
            "type": "number",
            "description": "Media Aspect Ratio",
            "example": 1.5
          },
          "duration": {
            "type": "number",
            "description": "Media Aspect Ratio",
            "example": 60
          },
          "format": {
            "type": "string",
            "description": "Media format",
            "example": "jpg"
          },
          "videoCodecName": {
            "type": "string",
            "description": "Video Codec",
            "example": "h264"
          },
          "frameRate": {
            "type": "number",
            "description": "Video Frame Rate",
            "example": 21
          },
          "audioCodecName": {
            "type": "string",
            "description": "Audio Codec",
            "example": "aac"
          },
          "audioChannels": {
            "type": "number",
            "description": "Audio Channel",
            "example": 1
          },
          "displayAspectRatio": {
            "type": "string",
            "description": "Display Aspect Ratio",
            "example": "250 : 167"
          },
          "frames": {
            "description": "List of frames",
            "example": [
              "https://storage.googleapis.com/crm-test/frame1.jpg",
              "https://storage.googleapis.com/crm-test/frame2.jpg"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedPoster": {
            "type": "number",
            "description": "Selected Poster",
            "example": 0
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "Image is larger than 10MB"
          },
          "instagramError": {
            "type": "string",
            "description": "Instagram media error. It can be one of the following errors: imageSize, imageType, videoType, videoDuration, videoSize, videoAspectRatio, videoWidthHeight, audioCodec, audioCodecChannels, videoCodec, videoFrameRate",
            "example": "imageSize"
          },
          "gmbError": {
            "type": "string",
            "description": "GMB media error. It can be one of the following errors: imageSize, imageDimension, imageType",
            "example": "imageDimension"
          },
          "facebookError": {
            "type": "string",
            "description": "Facebook media error. It can be one of the following errors: imageSize, imageType, videoDuration, videoSize",
            "example": "videoDuration"
          },
          "linkedinError": {
            "type": "string",
            "description": "LinkedIn media error. It can be one of the following errors: imageSize, imageType, videoType, videoDuration, videoSize",
            "example": "imageType"
          },
          "twitterError": {
            "type": "string",
            "description": "Twitter media error. It can be one of the following errors: imageSize, videoType, videoDuration, videoSize",
            "example": "videoSize"
          },
          "tiktokError": {
            "type": "string",
            "description": "Tiktok media error. It can be one of the following errors: videoType, videoDuration, videoSize, videoWidthHeight, videoCodec, videoFrameRate",
            "example": "videoFrameRate"
          },
          "tiktokBusinessError": {
            "type": "string",
            "description": "Tikok Business media error. It can be one of the following errors: videoType, videoDuration, videoSize, videoWidthHeight, videoCodec, videoFrameRate",
            "example": "videoType"
          },
          "invalidError": {
            "type": "string",
            "description": "Media error. It can be one of the following values: imageSize, imageWidth",
            "example": "imageSize"
          }
        }
      },
      "social_planner_v3_CSVPostSchema": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "link": {
            "description": "OG Tag",
            "example": {
              "url": "https://example.com/article",
              "ogTitle": "The Impact of Social Media",
              "ogDescription": "Social media as we know it has barely reached its 20th birthday"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_IOgTagsSchema"
              }
            ]
          },
          "medias": {
            "description": "Post Media List",
            "example": [
              {
                "url": "https://storage.googleapis.com/crm-test/omaDY3RbWtTP511e808O/media/38e53059-b92706571605.png",
                "type": "image/webp",
                "size": 18362
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CSVMediaResponseSchema"
            }
          },
          "scheduleDate": {
            "type": "string",
            "description": "Schedule date for the post in ISO format",
            "example": "2022-11-23T05:53:00.000Z"
          },
          "summary": {
            "type": "string",
            "description": "Post content/summary",
            "example": "First post"
          },
          "followUpComment": {
            "type": "string",
            "description": "Follow-up comment to be posted immediately after the main post is published.\n\n**Supported Platforms:** Facebook, Instagram, LinkedIn, YouTube\n\n**NOT Supported:** TikTok, Google My Business (GMB), Pinterest\n\n**Use Case:** Great for adding hashtags, additional context, or engagement prompts without cluttering the main post.\n\n- Follow-up comment is automatically trimmed to platform limits\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "example": "What do you think? Let us know in the comments!"
          },
          "type": {
            "type": "string",
            "description": "Post type - post, story, or reel",
            "example": "post"
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "example": {
              "privacyLevel": "PUBLIC_TO_EVERYONE",
              "enableComment": true,
              "enableDuet": false,
              "enableStitch": false
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TiktokPostSchema"
              }
            ]
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "example": {
              "topicType": "STANDARD"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GMBPostSchema"
              }
            ]
          },
          "errorMessage": {
            "type": "string",
            "description": "Error Description",
            "example": "Invalid media format"
          },
          "csvFileType": {
            "type": "string",
            "description": "CSV file type",
            "example": "basic",
            "enum": [
              "basic",
              "advance"
            ]
          },
          "mediaOptimization": {
            "type": "boolean",
            "description": "Media optimization flag",
            "example": true
          },
          "applyWatermark": {
            "type": "boolean",
            "description": "Apply watermark flag",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "Post status",
            "example": "pending",
            "enum": [
              "pending",
              "accepted",
              "rejected",
              "deleted"
            ]
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Date Updated",
            "example": "2023-08-02T00:00:00.000Z"
          }
        }
      },
      "social_planner_v3_GetCsvPostResponseSchema": {
        "type": "object",
        "properties": {
          "csv": {
            "description": "CSV Data",
            "example": {
              "id": "ve9EPM428h8vShlRW1KT",
              "locationId": "iVrVJ2uoXNF0wzcBzgl5",
              "fileName": "sample.csv",
              "status": "completed",
              "count": 5
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CSVImportSchema"
              }
            ]
          },
          "count": {
            "type": "number",
            "description": "Total count of posts in CSV",
            "example": 6
          },
          "posts": {
            "description": "CSV Posts",
            "example": [
              {
                "accountIds": [
                  "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
                ],
                "summary": "First post",
                "type": "post"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CSVPostSchema"
            }
          }
        }
      },
      "social_planner_v3_GetCsvPostResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched CSV Post"
          },
          "results": {
            "description": "Requested Results",
            "example": {
              "csv": {
                "id": "ve9EPM428h8vShlRW1KT",
                "locationId": "iVrVJ2uoXNF0wzcBzgl5",
                "fileName": "sample.csv",
                "status": "completed",
                "count": 5
              },
              "count": 6,
              "posts": [
                {
                  "accountIds": [
                    "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
                  ],
                  "summary": "First post",
                  "type": "post"
                }
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetCsvPostResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_CSVDefaultDTO": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          }
        },
        "required": [
          "userId"
        ]
      },
      "social_planner_v3_CsvPostStatusResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Updated Successfully"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_CsvResponse": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "fileName": {
            "type": "string",
            "description": "Name of the CSV file",
            "example": "sample.csv"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "file": {
            "type": "string",
            "description": "File path of the CSV",
            "example": "omaDY3RbWtTP511e/social-import/d23d68c2-82c0-1db6e2.csv"
          },
          "status": {
            "type": "string",
            "description": "CSV import status",
            "example": "completed",
            "enum": [
              "pending",
              "in_progress",
              "completed",
              "failed",
              "in_review",
              "importing",
              "deleted"
            ]
          },
          "count": {
            "type": "number",
            "description": "Number of posts in the CSV",
            "example": 5
          },
          "createdBy": {
            "type": "string",
            "description": "User Id who created the CSV import",
            "example": "AccountId_SDsdfdf45Dgs4w3ssss"
          },
          "traceId": {
            "type": "string",
            "description": "Trace Id for debugging",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "originId": {
            "type": "string",
            "description": "Origin Id for tracking source",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "approver": {
            "type": "string",
            "description": "Approver User Id",
            "example": "FSeSDsdfdf45Dgs4w3ssss"
          },
          "csvFileType": {
            "type": "string",
            "description": "CSV file type",
            "example": "basic",
            "enum": [
              "basic",
              "advance"
            ]
          },
          "mediaOptimization": {
            "type": "boolean",
            "description": "Media optimization flag",
            "example": true
          },
          "applyWatermark": {
            "type": "boolean",
            "description": "Apply watermark flag",
            "example": false
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Date Updated",
            "example": "2023-08-02T00:00:00.000Z"
          }
        }
      },
      "social_planner_v3_CSVResponseSchema": {
        "type": "object",
        "properties": {
          "csv": {
            "description": "CSV Data",
            "example": {
              "locationId": "ve9EPM428h8vShlRW1KT",
              "fileName": "sample.csv",
              "status": "completed",
              "count": 5
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CsvResponse"
              }
            ]
          }
        }
      },
      "social_planner_v3_DeleteCsvResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted CSV"
          },
          "results": {
            "description": "Requested Results",
            "example": {
              "csv": {
                "locationId": "ve9EPM428h8vShlRW1KT",
                "fileName": "sample.csv",
                "status": "deleted",
                "count": 5
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CSVResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_DeletePostCsvSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "CSV Id",
            "example": "65f92e55cc884f0d0845e447"
          },
          "csvFileType": {
            "type": "string",
            "description": "CSV file type",
            "example": "basic",
            "enum": [
              "basic",
              "advance"
            ]
          },
          "mediaOptimization": {
            "type": "boolean",
            "description": "Media optimization flag",
            "example": true
          },
          "applyWatermark": {
            "type": "boolean",
            "description": "Apply watermark flag",
            "example": false
          },
          "status": {
            "type": "string",
            "description": "CSV import status",
            "example": "completed",
            "enum": [
              "pending",
              "in_progress",
              "completed",
              "failed",
              "in_review",
              "importing",
              "deleted"
            ]
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Date Updated",
            "example": "2023-08-02T00:00:00.000Z"
          }
        }
      },
      "social_planner_v3_DeletePostResponseSchema": {
        "type": "object",
        "properties": {
          "postId": {
            "type": "string",
            "description": "Post Id",
            "example": "65f92e55cc884f0d0845e447"
          },
          "csv": {
            "description": "CSV Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_DeletePostCsvSchema"
              }
            ]
          }
        },
        "required": [
          "postId"
        ]
      },
      "social_planner_v3_DeletePostResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted CSV Post"
          },
          "results": {
            "description": "Requested Results",
            "example": {
              "postId": "65f92e55cc884f0d0845e447",
              "csv": {
                "_id": "65f92e55cc884f0d0845e447",
                "status": "completed"
              }
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_DeletePostResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_TiktokProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "Name of account",
            "example": "Account Name"
          },
          "username": {
            "type": "string",
            "description": "Username of account",
            "example": "User_name"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar of profile account",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "verified": {
            "type": "boolean",
            "description": "Is verified",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "description": "Is connected",
            "example": true
          },
          "type": {
            "type": "object",
            "description": "Tiktok Account Type must be one of the following values: business, profile",
            "example": "BUSINESS"
          }
        }
      },
      "social_planner_v3_GetTiktokAccountSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Tiktok Business Account",
            "example": [
              {
                "id": "w37swmmLbA02zgqKPpxITe",
                "name": "Account Name",
                "username": "User_name",
                "avatar": "w37swmmLbA02zgqKPpxITe",
                "verified": true,
                "isConnected": true,
                "type": "BUSINESS"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TiktokProfileSchema"
            }
          }
        }
      },
      "social_planner_v3_GetTiktokAccountResponseDTO": {
        "title": "Tiktok",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tiktok Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetTiktokAccountSchema"
              }
            ],
            "example": {
              "profile": [
                {
                  "id": "w37swmmLbA02zgqKPpxITe",
                  "name": "Account Name",
                  "username": "User_name",
                  "avatar": "w37swmmLbA02zgqKPpxITe",
                  "verified": true,
                  "isConnected": true,
                  "type": "BUSINESS"
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachTiktokAccountDTO": {
        "title": "Tiktok",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of TikTok account",
            "enum": [
              "page",
              "group",
              "profile",
              "location",
              "business"
            ],
            "example": "profile"
          },
          "originId": {
            "type": "string",
            "description": "Original platform-specific account identifier",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "description": "Display name of the account",
            "example": "JOHN_DEO"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "https://example.com/avatar.jpg"
          },
          "verified": {
            "type": "boolean",
            "description": "Indicates if the TikTok account is verified",
            "example": true
          },
          "username": {
            "type": "string",
            "description": "Username or handle of the TikTok account",
            "example": "JOHN_DEO"
          }
        },
        "required": [
          "type",
          "originId",
          "name",
          "avatar"
        ]
      },
      "social_planner_v3_SocialMediaTiktokAccountSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "MongoDB document ID of the social media account",
            "example": "65f2d989a4f2f1e5322c3856"
          },
          "oAuthId": {
            "type": "string",
            "description": "OAuth provider account identifier",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "oldId": {
            "type": "string",
            "description": "Legacy account identifier for backward compatibility",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID associated with this account",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "originId": {
            "type": "string",
            "description": "Original platform-specific account identifier",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "platform": {
            "type": "object",
            "description": "Social media platform name",
            "example": "tiktok"
          },
          "type": {
            "type": "object",
            "description": "type must be one of the following values: profile, business",
            "example": "profile"
          },
          "name": {
            "type": "string",
            "description": "Display name of the account",
            "example": "Account Name"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar or profile picture URL",
            "example": "u37swmmLbA02zgqKPpxITe2"
          },
          "meta": {
            "type": "object",
            "description": "Additional metadata for the account",
            "example": {
              "pageId": "u37swmmLbA02zgqKPpxITe2",
              "page": {
                "id": "u37swmmLbA02zgqKPpxITe2",
                "name": "Account Name",
                "avatar": "u37swmmLbA02zgqKPpxITe2"
              },
              "storeCode": "122",
              "isVerified": "true",
              "verified": true,
              "protected": true,
              "locationId": "u37swmmLbA02zgqKPpxITe2",
              "accountId": "u37swmmLbA02zgqKPpxITe2",
              "openId": "u37swmmLbA02zgqKPpxITe2",
              "urn": "u37swmmLbA02zgqKPpxITe2",
              "username": "testUser",
              "storefrontAddress": {
                "regionCode": "30021",
                "languageCode": "E001",
                "postalCode": "1221",
                "administrativeArea": "Down Town",
                "locality": "Louis Street",
                "addressLines": [
                  "207",
                  "county"
                ]
              }
            }
          },
          "active": {
            "type": "boolean",
            "description": "Indicates if the account is currently active",
            "example": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Indicates if the account has been deleted",
            "example": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "created date",
            "example": "2024-03-14T11:03:37.015Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "updated date",
            "example": "2024-03-14T11:03:37.015Z"
          }
        }
      },
      "social_planner_v3_SocialMediaTiktokAccountResponseDTO": {
        "title": "Tiktok",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Tiktok Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialMediaTiktokAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_TikTokOAuthAccountSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/social_planner_v3_BaseOAuthAccountSchema"
          },
          {
            "type": "object",
            "properties": {
              "platform": {
                "type": "string",
                "enum": [
                  "tiktok"
                ],
                "example": "tiktok"
              }
            }
          }
        ]
      },
      "social_planner_v3_GetTiktokBusinessAccountSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Tiktok Profile",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TiktokProfileSchema"
            },
            "example": [
              {
                "id": "w37swmmLbA02zgqKPpxITe",
                "name": "Account Name",
                "username": "User_name",
                "avatar": "w37swmmLbA02zgqKPpxITe",
                "verified": true,
                "isConnected": true,
                "type": "BUSINESS"
              }
            ]
          }
        }
      },
      "social_planner_v3_GetTiktokBusinessAccountResponseDTO": {
        "title": "Tiktok Business",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tiktok Business Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetTiktokBusinessAccountSchema"
              }
            ],
            "example": {
              "profile": [
                {
                  "id": "w37swmmLbA02zgqKPpxITe",
                  "name": "Account Name",
                  "username": "User_name",
                  "avatar": "w37swmmLbA02zgqKPpxITe",
                  "verified": true,
                  "isConnected": true,
                  "type": "BUSINESS"
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_YouTubeOAuthAccountSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/social_planner_v3_BaseOAuthAccountSchema"
          },
          {
            "type": "object",
            "properties": {
              "platform": {
                "type": "string",
                "enum": [
                  "youtube"
                ],
                "example": "youtube"
              }
            }
          }
        ]
      },
      "social_planner_v3_YoutubeProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "Name of account",
            "example": "Account Name"
          },
          "username": {
            "type": "string",
            "description": "Username of account",
            "example": "@username"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar of profile account",
            "example": "https://yt3.ggpht.com/example-avatar"
          },
          "verified": {
            "type": "boolean",
            "description": "Is verified",
            "example": true
          },
          "isConnected": {
            "type": "boolean",
            "description": "Is connected",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Youtube Account Type",
            "example": "PROFILE"
          }
        }
      },
      "social_planner_v3_GetYoutubeAccountSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Youtube Profile",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_YoutubeProfileSchema"
            },
            "example": [
              {
                "id": "w37swmmLbA02zgqKPpxITe",
                "name": "Account Name",
                "username": "@username",
                "avatar": "https://yt3.ggpht.com/example-avatar",
                "verified": true,
                "isConnected": true,
                "type": "PROFILE"
              }
            ]
          }
        }
      },
      "social_planner_v3_GetYouTubeAccountsResponseDTO": {
        "title": "YouTube",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched YouTube Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetYoutubeAccountSchema"
              }
            ],
            "example": {
              "profile": [
                {
                  "id": "w37swmmLbA02zgqKPpxITe",
                  "name": "Account Name",
                  "username": "@username",
                  "avatar": "https://yt3.ggpht.com/example-avatar",
                  "verified": true,
                  "isConnected": true,
                  "type": "PROFILE"
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachYoutubeAccountResponseDTO": {
        "title": "YouTube",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "profile"
            ],
            "description": "Account type"
          },
          "originId": {
            "type": "string",
            "description": "Origin ID",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Ayush"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar URL"
          },
          "verified": {
            "type": "boolean",
            "description": "Verification status",
            "example": true
          },
          "username": {
            "type": "string",
            "description": "Username",
            "example": "@ayush"
          }
        },
        "required": [
          "type",
          "originId",
          "name",
          "avatar"
        ]
      },
      "social_planner_v3_PinterestOAuthAccountSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/social_planner_v3_BaseOAuthAccountSchema"
          },
          {
            "type": "object",
            "properties": {
              "platform": {
                "type": "string",
                "enum": [
                  "pinterest"
                ],
                "example": "pinterest"
              }
            }
          }
        ]
      },
      "social_planner_v3_SocialMediaThreadsAccountSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/social_planner_v3_BaseOAuthAccountSchema"
          },
          {
            "type": "object",
            "properties": {
              "platform": {
                "type": "string",
                "enum": [
                  "threads"
                ],
                "example": "threads"
              }
            }
          }
        ]
      },
      "social_planner_v3_PinterestProfileSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "name": {
            "type": "string",
            "description": "Name of account",
            "example": "Account Name"
          },
          "username": {
            "type": "string",
            "description": "Username of account",
            "example": "@username"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar of profile account",
            "example": "https://i.pinimg.com/example-avatar.jpg"
          },
          "isConnected": {
            "type": "boolean",
            "description": "Is connected",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Pinterest Account Type",
            "example": "PINNER"
          },
          "websiteUrl": {
            "type": "string",
            "description": "Pinterest Account website Url",
            "example": "https://www.pinterest.com/"
          }
        }
      },
      "social_planner_v3_GetPinterestAccountSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "description": "Pinterest Profile",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PinterestProfileSchema"
            },
            "example": [
              {
                "id": "w37swmmLbA02zgqKPpxITe",
                "name": "Account Name",
                "username": "@username",
                "avatar": "https://i.pinimg.com/example-avatar.jpg",
                "isConnected": true,
                "type": "PINNER",
                "websiteUrl": "https://www.pinterest.com/"
              }
            ]
          }
        }
      },
      "social_planner_v3_GetPinterestAccountsResponseDTO": {
        "title": "Pinterest",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Pinterest Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPinterestAccountSchema"
              }
            ],
            "example": {
              "profile": [
                {
                  "id": "w37swmmLbA02zgqKPpxITe",
                  "name": "Account Name",
                  "username": "@username",
                  "avatar": "https://i.pinimg.com/example-avatar.jpg",
                  "isConnected": true,
                  "type": "PINNER",
                  "websiteUrl": "https://www.pinterest.com/"
                }
              ]
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_AttachPinterestAccountDTO": {
        "title": "Pinterest",
        "type": "object",
        "properties": {
          "originId": {
            "type": "string",
            "description": "Origin ID",
            "example": "244405****11687"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "Ayush"
          },
          "avatar": {
            "type": "string",
            "description": "Avatar URL"
          },
          "verified": {
            "type": "boolean",
            "description": "Verification status",
            "example": true
          },
          "username": {
            "type": "string",
            "description": "Username",
            "example": "@ayush"
          },
          "websiteUrl": {
            "type": "string",
            "description": "Website URL",
            "example": "https://www.website.com"
          },
          "companyId": {
            "type": "string",
            "description": "Company ID",
            "example": "companyId"
          },
          "type": {
            "type": "string",
            "description": "Account type must be one of the following values: profile",
            "enum": [
              "profile"
            ]
          },
          "originAccountType": {
            "type": "string",
            "description": "Origin account type"
          }
        },
        "required": [
          "originId"
        ]
      },
      "social_planner_v3_AttachThreadsAccountDTO": {
        "title": "Threads",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "profile",
            "enum": [
              "profile"
            ],
            "description": "Account type"
          },
          "originId": {
            "type": "string",
            "example": "244405****11687",
            "description": "Origin ID"
          },
          "name": {
            "type": "string",
            "example": "JOHN_DEO",
            "description": "Account name"
          },
          "avatar": {
            "type": "string",
            "example": "https://storage.googleapis.com/2ad21ebc23/test",
            "description": "Avatar URL"
          }
        },
        "required": [
          "type",
          "originId",
          "name",
          "avatar"
        ]
      },
      "social_planner_v3_SocialMediaTiktokBusinessAccountResponseDTO": {
        "title": "Tiktok Business",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added TikTok Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TikTokOAuthAccountSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SocialMediaYouTubeAccountResponseDTO": {
        "title": "YouTube",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added YouTube Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_YouTubeOAuthAccountSchema"
              }
            ]
          }
        },
        "required": [
          "platform",
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SocialMediaPinterestAccountResponseDTO": {
        "title": "Pinterest",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Pinterest Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PinterestOAuthAccountSchema"
              }
            ]
          }
        },
        "required": [
          "platform",
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SocialMediaThreadsAccountResponseDTO": {
        "title": "Threads",
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Added Threads Account"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_SocialMediaThreadsAccountSchema"
              }
            ]
          }
        },
        "required": [
          "platform",
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_CategorySchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Category Name",
            "example": "Primary"
          },
          "primaryColor": {
            "type": "string",
            "description": "Color For Category",
            "example": "#FFFFFF"
          },
          "secondaryColor": {
            "type": "string",
            "description": "Secondary Color",
            "example": "#FFFFFF"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "_id": {
            "type": "string",
            "description": "ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By User",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted Value",
            "example": false
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "social_planner_v3_GetByLocationIdResponseSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "Count",
            "example": 3
          },
          "categories": {
            "description": "Meta Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CategorySchema"
            }
          }
        },
        "required": [
          "count",
          "categories"
        ]
      },
      "social_planner_v3_GetByLocationIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Categories by Location ID"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetByLocationIdResponseSchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_GetByIdResponseSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Category Name",
            "example": "Primary"
          },
          "primaryColor": {
            "type": "string",
            "description": "Color For Category",
            "example": "#32a852"
          },
          "secondaryColor": {
            "type": "string",
            "description": "Secondary Color",
            "example": "#32a852"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "_id": {
            "type": "string",
            "description": "ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By User",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted Value",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Category not found"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z"
          }
        },
        "required": [
          "deleted"
        ]
      },
      "social_planner_v3_GetCategorySchema": {
        "type": "object",
        "properties": {
          "category": {
            "description": "Category Schema",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetByIdResponseSchema"
              }
            ]
          }
        }
      },
      "social_planner_v3_GetByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Category"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetCategorySchema"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_SocialMediaTagSchema": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "description": "Tag Name",
            "example": "Primary Tag"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "_id": {
            "type": "string",
            "description": "MongoDB document ID",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By User Id",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "deleted": {
            "type": "boolean",
            "description": "Deleted boolean value",
            "example": false
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Date when the record was created"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Date when the record was last updated"
          }
        }
      },
      "social_planner_v3_GetTagsByLocationIdResponseSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Tags Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_SocialMediaTagSchema"
            },
            "example": [
              {
                "tag": "Primary Tag",
                "locationId": "Lx1EI6YIgQYMQi0ytFXv",
                "_id": "Lx1EI6YIgQYMQi0ytFXv",
                "createdBy": "Lx1EI6YIgQYMQi0ytFXv",
                "deleted": false,
                "createdAt": "2023-08-02T00:00:00.000Z",
                "updatedAt": "2023-08-02T00:00:00.000Z"
              }
            ]
          },
          "count": {
            "type": "number",
            "description": "Count",
            "example": 3
          }
        }
      },
      "social_planner_v3_GetTagsByLocationIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tags by Location ID"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetTagsByLocationIdResponseSchema"
              }
            ],
            "example": {
              "tags": [
                {
                  "tag": "Primary Tag",
                  "locationId": "Lx1EI6YIgQYMQi0ytFXv",
                  "_id": "Lx1EI6YIgQYMQi0ytFXv",
                  "createdBy": "Lx1EI6YIgQYMQi0ytFXv",
                  "deleted": false,
                  "createdAt": "2023-08-02T00:00:00.000Z",
                  "updatedAt": "2023-08-02T00:00:00.000Z"
                }
              ],
              "count": 3
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_UpdateTagDTO": {
        "type": "object",
        "properties": {
          "tagIds": {
            "description": "Array of Tag Ids",
            "example": [
              "65fbdcfecc884f07e645ea8b"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tagIds"
        ]
      },
      "social_planner_v3_GetTagsByIdResponseSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "description": "Social Media Tag Data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_SocialMediaTagSchema"
            },
            "example": [
              {
                "tag": "Primary Tag",
                "locationId": "Lx1EI6YIgQYMQi0ytFXv",
                "_id": "Lx1EI6YIgQYMQi0ytFXv",
                "createdBy": "Lx1EI6YIgQYMQi0ytFXv",
                "deleted": false,
                "createdAt": "2023-08-02T00:00:00.000Z",
                "updatedAt": "2023-08-02T00:00:00.000Z"
              }
            ]
          },
          "count": {
            "type": "number",
            "description": "Count",
            "example": 3
          }
        },
        "required": [
          "tags"
        ]
      },
      "social_planner_v3_GetTagsByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Tags by Tag IDs"
          },
          "results": {
            "description": "Requested Results",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetTagsByIdResponseSchema"
              }
            ],
            "example": {
              "tags": [
                {
                  "tag": "Primary Tag",
                  "locationId": "Lx1EI6YIgQYMQi0ytFXv",
                  "_id": "Lx1EI6YIgQYMQi0ytFXv",
                  "createdBy": "Lx1EI6YIgQYMQi0ytFXv",
                  "deleted": false,
                  "createdAt": "2023-08-02T00:00:00.000Z",
                  "updatedAt": "2023-08-02T00:00:00.000Z"
                }
              ],
              "count": 3
            }
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_DeletePostsDto": {
        "type": "object",
        "properties": {
          "postIds": {
            "description": "Requested Results",
            "example": [
              "662791ee3f216822d7da0c8c"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "social_planner_v3_BulkDeletePostSuccessfulResponseSchema": {
        "type": "object",
        "properties": {
          "deletedCount": {
            "type": "number",
            "description": "Number of posts successfully deleted",
            "example": 10
          }
        }
      },
      "social_planner_v3_BulkDeleteResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Posts Deleted Successfully"
          },
          "results": {
            "description": "Message and deleted count",
            "example": "{ message: \"Posts deleted successfully\", deletedCount: 10 }"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message",
          "results"
        ]
      },
      "social_planner_v3_AvailableCategoryQueueDetailsDTO": {
        "type": "object",
        "properties": {
          "queueId": {
            "type": "string",
            "description": "Queue ID",
            "example": "67fc07c6d7657c9aee764762"
          },
          "prioritizeNewContent": {
            "type": "boolean",
            "description": "Prioritize new content over older content",
            "example": false
          },
          "enableFuturePosts": {
            "type": "boolean",
            "description": "Enable posting future content",
            "example": true
          }
        }
      },
      "social_planner_v3_AvailableCategoryDTO": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Indicates if deleted",
            "example": false
          },
          "_id": {
            "type": "string",
            "description": "Category ID",
            "example": "65cb3d2f68baa617aa0c286e"
          },
          "name": {
            "type": "string",
            "description": "Category name",
            "example": "Facebook Reel"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "fvg1TXIiVxGcdOaL0riG"
          },
          "primaryColor": {
            "type": "string",
            "description": "Primary color (hex)",
            "example": "#004EEB"
          },
          "secondaryColor": {
            "type": "string",
            "description": "Secondary color (hex)",
            "example": "#EFF4FF"
          },
          "createdBy": {
            "type": "string",
            "description": "Creator user ID",
            "example": "SQ6d63Va2PUbWEZ9k0TD"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "example": "2024-02-13T09:58:07.129Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "Last update timestamp",
            "example": "2024-02-13T09:58:07.129Z"
          },
          "publishedPostsCount": {
            "type": "number",
            "description": "Published posts count",
            "example": 80
          },
          "status": {
            "type": "string",
            "description": "Status: available (no queue), in_queue (active/paused), or draft",
            "enum": [
              "available",
              "in_queue",
              "draft"
            ],
            "example": "in_queue"
          },
          "queueDetails": {
            "description": "Queue details (present when in_queue or draft)",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_AvailableCategoryQueueDetailsDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_MetaDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "string",
            "example": "100",
            "description": "Total count of items"
          }
        }
      },
      "social_planner_v3_FetchAvailableCategoriesResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Available categories fetched successfully"
          },
          "categories": {
            "description": "List of categories with queue status",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_AvailableCategoryDTO"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/social_planner_v3_MetaDTO"
          }
        }
      },
      "social_planner_v3_WrappedFetchAvailableCategoriesResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_FetchAvailableCategoriesResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_TimeSlotDTO": {
        "type": "object",
        "properties": {
          "dayOfWeek": {
            "type": "number",
            "description": "Day of the week (0-6)",
            "example": 0
          },
          "time": {
            "type": "string",
            "description": "Time in HH:mm format",
            "example": "09:00"
          }
        },
        "required": [
          "dayOfWeek",
          "time"
        ]
      },
      "social_planner_v3_CreateCategoryQueueDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "timeSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TimeSlotDTO"
            }
          },
          "enableFuturePosts": {
            "type": "boolean",
            "description": "Enable Future Posts. Defaults to false.",
            "example": true
          },
          "prioritizeNewContent": {
            "type": "boolean",
            "description": "Prioritize New Content. Defaults to false.",
            "example": false
          },
          "userId": {
            "type": "string",
            "description": "User id",
            "example": "w37swmmLbA02zgqKPpxITe"
          }
        },
        "required": [
          "locationId",
          "categoryId",
          "timeSlots",
          "userId"
        ]
      },
      "social_planner_v3_CreatedTimeSlotDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "686ebf10c78c23d665c28d67",
            "description": "Time slot ID"
          },
          "dayOfWeek": {
            "type": "number",
            "example": 0,
            "description": "Day of the week (0=Sunday, 1=Monday, ...)"
          },
          "time": {
            "type": "string",
            "example": "00:00",
            "description": "Time of the day (HH:mm format)"
          }
        }
      },
      "social_planner_v3_CreatedCategoryQueueDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "686ebf10c78c233e45c28d66",
            "description": "Queue ID"
          },
          "locationId": {
            "type": "string",
            "example": "Qp26qppJgfrTZis7jsBy",
            "description": "Location ID"
          },
          "categoryId": {
            "type": "string",
            "example": "683702938b19583ce320e5eb",
            "description": "Category ID"
          },
          "timeSlots": {
            "description": "Time slots for scheduling posts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CreatedTimeSlotDTO"
            }
          },
          "enableFuturePosts": {
            "type": "boolean",
            "example": true,
            "description": "Enable posting future content"
          },
          "prioritizeNewContent": {
            "type": "boolean",
            "example": true,
            "description": "Prioritize new content over older content"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "draft"
            ],
            "example": "draft",
            "description": "Status of the queue. Always \"draft\" for a new queue."
          },
          "startDate": {
            "format": "date-time",
            "type": "string",
            "example": "2025-07-09T19:12:16.363Z",
            "description": "Start date of the queue"
          },
          "skipDateTime": {
            "example": [],
            "description": "Dates/times to skip posting. Always empty for a new queue.",
            "type": "array",
            "items": {
              "format": "date-time",
              "type": "string"
            }
          },
          "totalPosts": {
            "type": "number",
            "example": 0,
            "description": "Total number of posts in the queue. Always 0 for a new queue."
          },
          "lastScheduledTime": {
            "format": "date-time",
            "type": "string",
            "example": null,
            "description": "Timestamp of the last scheduled post. Always null for a new queue.",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "example": "uefV3MmLHs2sjJr2KfmL",
            "description": "ID of the user who created the queue"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2025-07-09T19:12:16.366Z",
            "description": "Creation timestamp"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2025-07-09T19:12:16.366Z",
            "description": "Last update timestamp"
          }
        }
      },
      "social_planner_v3_CreateCategoryQueueResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue created successfully",
            "description": "A message indicating the result of the operation."
          },
          "queue": {
            "description": "The newly created queue.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CreatedCategoryQueueDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_WrappedCreateCategoryQueueResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_CreateCategoryQueueResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_FetchCategoryQueuesDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "skip": {
            "type": "number",
            "description": "Number of items to skip",
            "example": 0
          },
          "limit": {
            "type": "number",
            "description": "Maximum number of items to return",
            "example": 10
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_CategoryInfoDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "6756f381be2553245b08d30c",
            "description": "Category ID"
          },
          "name": {
            "type": "string",
            "example": "Category Name",
            "description": "Name of the category"
          },
          "primaryColor": {
            "type": "string",
            "example": "#FFFFFF",
            "description": "Primary color of the category"
          },
          "secondaryColor": {
            "type": "string",
            "example": "#000000",
            "description": "Secondary color of the category"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if the category is deleted"
          },
          "locationId": {
            "type": "string",
            "example": "fvg1TXIiVxGcdOaL0riG",
            "description": "Location ID"
          },
          "createdBy": {
            "type": "string",
            "example": "SQ6d63Va2PUbWEZ9k0TD",
            "description": "ID of the user who created the category"
          },
          "createdAt": {
            "type": "string",
            "example": "2024-12-09T13:41:21.385Z",
            "description": "Creation timestamp"
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-12-09T13:41:21.385Z",
            "description": "Last update timestamp"
          }
        }
      },
      "social_planner_v3_CategoryQueueWithCategoryDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "Queue ID"
          },
          "locationId": {
            "type": "string",
            "example": "location-123",
            "description": "Location ID"
          },
          "categoryId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "Category ID"
          },
          "timeSlots": {
            "description": "Time slots for scheduling posts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TimeSlotDTO"
            }
          },
          "enableFuturePosts": {
            "type": "boolean",
            "example": false,
            "description": "Enable posting future content"
          },
          "prioritizeNewContent": {
            "type": "boolean",
            "example": false,
            "description": "Prioritize new content over older content"
          },
          "currentOrder": {
            "type": "number",
            "example": 1000,
            "description": "Current order number in the queue"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "draft"
            ],
            "example": "active",
            "description": "Status of the queue. Possible values: active, paused, draft."
          },
          "startDate": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T12:00:00Z",
            "description": "Start date of the queue"
          },
          "skipDateTime": {
            "example": [
              "2023-01-02T12:00:00Z"
            ],
            "description": "Dates/times to skip posting",
            "type": "array",
            "items": {
              "format": "date-time",
              "type": "string"
            }
          },
          "currentPostId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "ID of the currently scheduled post",
            "nullable": true
          },
          "totalPosts": {
            "type": "number",
            "example": 10,
            "description": "Total number of posts in the queue"
          },
          "lastScheduledTime": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T12:00:00Z",
            "description": "Timestamp of the last scheduled post",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "example": "user-123",
            "description": "ID of the user who created the queue"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T00:00:00Z",
            "description": "Creation timestamp"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T00:00:00Z",
            "description": "Last update timestamp"
          },
          "category": {
            "description": "The category associated with the queue.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CategoryInfoDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_FetchCategoryQueuesResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queues fetched successfully"
          },
          "queues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CategoryQueueWithCategoryDTO"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/social_planner_v3_MetaDTO"
          }
        }
      },
      "social_planner_v3_WrappedFetchCategoryQueuesResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_FetchCategoryQueuesResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_FetchQueueByIdResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue fetched successfully",
            "description": "A message indicating the result of the operation."
          },
          "queue": {
            "description": "The fetched queue along with its category metadata.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CategoryQueueWithCategoryDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_WrappedFetchQueueByIdResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_FetchQueueByIdResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_FetchQueueItemsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "skip": {
            "type": "number",
            "description": "Number of items to skip",
            "example": 0
          },
          "limit": {
            "type": "number",
            "description": "Maximum number of items to return",
            "example": 10
          },
          "errorFilter": {
            "type": "boolean",
            "description": "To return only queue items with errors",
            "example": true
          },
          "itemId": {
            "type": "string",
            "description": "Item ID to center the response around. When provided, the response will position this item in the center with items above and below based on limit. The skip parameter is ignored when itemId is provided.",
            "example": "60af88475f1b2c001f5d5f4b"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_OgTagsDTO": {
        "type": "object",
        "properties": {
          "metaLink": {
            "type": "object",
            "example": "https://example.com",
            "description": "The canonical URL of the content."
          },
          "metaImage": {
            "type": "object",
            "example": "https://example.com/image.png",
            "description": "URL of the content's primary image."
          },
          "ogTitle": {
            "type": "object",
            "example": "Example Title",
            "description": "The title of the content."
          }
        }
      },
      "social_planner_v3_VariationDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The ID of the variation.",
            "example": "60af88475f1b2c001f5d5f4c"
          },
          "content": {
            "type": "string",
            "description": "The text content of the variation.",
            "example": "Check out our latest blog post! #marketing #socialmedia"
          },
          "mentions": {
            "description": "Platform-specific mentions within the content (e.g., @username references).",
            "example": [
              {
                "platform": "instagram",
                "username": "example_user",
                "offset": 10,
                "length": 12
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "ogTags": {
            "description": "Open Graph tags for link previews.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_QueueItemDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the queue item.",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "order": {
            "type": "number",
            "description": "The order of the item in the queue.",
            "example": 1000
          },
          "variations": {
            "description": "A list of content variations for the post.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "The primary image URL for the post.",
            "example": "https://example.com/images/post-image.png"
          },
          "postId": {
            "type": "string",
            "description": "The ID of the original post, if any.",
            "example": "60af88475f1b2c001f5d5f4d"
          },
          "post": {
            "description": "The formatted post data.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
              }
            ]
          },
          "errors": {
            "example": [
              "INVALID_USER_ID",
              "PIXABAY_MEDIA"
            ],
            "description": "List of errors associated with the queue item. Possible values: INVALID_USER_ID, PIXABAY_MEDIA.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scheduledDateTime": {
            "format": "date-time",
            "type": "string",
            "description": "The calculated date/time when this item is scheduled to be posted",
            "example": "2023-10-15T10:00:00.000Z",
            "nullable": true
          },
          "scheduledVariationIndex": {
            "type": "number",
            "description": "The variation index that will be used when this item is posted",
            "example": 0
          },
          "isSkipped": {
            "type": "boolean",
            "description": "Indicates if this time slot is skipped and the post will not be published at this time",
            "example": false
          }
        }
      },
      "social_planner_v3_FetchQueueItemsMetaDTO": {
        "type": "object",
        "properties": {
          "count": {
            "type": "string",
            "example": "100",
            "description": "Total count of items"
          },
          "skip": {
            "type": "number",
            "example": 0,
            "description": "Number of items skipped (offset from start)"
          },
          "limit": {
            "type": "number",
            "example": 10,
            "description": "Maximum number of items returned"
          }
        }
      },
      "social_planner_v3_FetchQueueItemsResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue items fetched successfully"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_QueueItemDTO"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/social_planner_v3_FetchQueueItemsMetaDTO"
          }
        }
      },
      "social_planner_v3_WrappedFetchQueueItemsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_FetchQueueItemsResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_StartEditSessionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_StartEditSessionResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Edit session started successfully",
            "description": "A message indicating the result of the operation."
          },
          "sessionId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "The ID of the edit session."
          },
          "itemCount": {
            "type": "number",
            "example": 25,
            "description": "Number of items staged for editing."
          }
        }
      },
      "social_planner_v3_WrappedStartEditSessionResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_StartEditSessionResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_SaveEditSessionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "keepInDraft": {
            "type": "boolean",
            "description": "If true, keeps the queue in DRAFT state after saving instead of automatically activating it. Only applicable when the queue is currently in DRAFT status.",
            "example": false,
            "default": false
          }
        },
        "required": [
          "locationId",
          "sessionId"
        ]
      },
      "social_planner_v3_UpdatedSlotInfoDTO": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "The ID of the queue item"
          },
          "scheduledDateTime": {
            "format": "date-time",
            "type": "string",
            "example": "2023-10-15T10:00:00.000Z",
            "description": "The updated scheduled date/time for this item",
            "nullable": true
          },
          "isSkipped": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if this time slot is skipped"
          }
        }
      },
      "social_planner_v3_SaveEditSessionResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Edit session saved successfully",
            "description": "A message indicating the result of the operation."
          },
          "updatedSlots": {
            "description": "Updated slot information for all items after saving changes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_UpdatedSlotInfoDTO"
            }
          },
          "totalPostsChanged": {
            "type": "number",
            "example": 10,
            "description": "Number of unique posts that had their slots changed"
          }
        }
      },
      "social_planner_v3_WrappedSaveEditSessionResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_SaveEditSessionResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_DiscardEditSessionDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "keepInDraft": {
            "type": "boolean",
            "description": "If true, keeps the queue in DRAFT state after saving instead of automatically activating it. Only applicable when the queue is currently in DRAFT status.",
            "example": false,
            "default": false
          }
        },
        "required": [
          "locationId",
          "sessionId"
        ]
      },
      "social_planner_v3_DiscardEditSessionResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Edit session discarded successfully",
            "description": "A message indicating the result of the operation."
          }
        }
      },
      "social_planner_v3_WrappedDiscardEditSessionResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_DiscardEditSessionResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_EditSessionCalendarDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "startDate": {
            "type": "string",
            "description": "Start Date in ISO format",
            "example": "2023-10-01T00:00:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End Date in ISO format",
            "example": "2023-10-31T23:59:59.999Z"
          },
          "accountIds": {
            "description": "Filter by Account IDs. If not provided or empty, returns all posts.",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "sessionId",
          "startDate",
          "endDate"
        ]
      },
      "social_planner_v3_EditSessionScheduledPostDTO": {
        "type": "object",
        "properties": {
          "scheduledDateTime": {
            "format": "date-time",
            "type": "string",
            "description": "The date and time the post is scheduled to be published",
            "example": "2023-10-15T10:00:00.000Z"
          },
          "post": {
            "description": "The formatted post data.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
              }
            ]
          },
          "queueItemId": {
            "type": "string",
            "description": "The unique identifier of the queue item.",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "queueId": {
            "type": "string",
            "description": "The ID of the queue this post belongs to",
            "example": "60af88475f1b2c001f5d5f4a"
          },
          "order": {
            "type": "number",
            "description": "The order of the item in the queue.",
            "example": 1000
          },
          "variations": {
            "description": "A list of content variations for the post.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "The primary image URL for the post.",
            "example": "https://example.com/images/post-image.png"
          },
          "errors": {
            "example": [
              "INVALID_USER_ID",
              "PIXABAY_MEDIA"
            ],
            "description": "List of errors associated with the queue item. Possible values: INVALID_USER_ID, PIXABAY_MEDIA.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "nullable": true,
            "description": "The category associated with this post",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CategoryInfoDTO"
              }
            ]
          },
          "currentVariation": {
            "type": "number",
            "description": "The index of the current variation being used for this post",
            "example": 0
          },
          "timezone": {
            "type": "string",
            "description": "The timezone in which the post is scheduled",
            "example": "America/New_York"
          },
          "isDraft": {
            "type": "boolean",
            "example": true,
            "description": "Indicates this is a draft item from an edit session"
          },
          "originalItemId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "Original queue item ID if this draft was created from an existing item",
            "nullable": true
          }
        }
      },
      "social_planner_v3_EditSessionCalendarResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Edit session calendar fetched successfully"
          },
          "scheduledPosts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_EditSessionScheduledPostDTO"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of scheduled posts returned"
          },
          "timezone": {
            "type": "string",
            "description": "The timezone used for scheduling, e.g., \"Asia/Calcutta\""
          }
        }
      },
      "social_planner_v3_WrappedEditSessionCalendarResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_EditSessionCalendarResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_FetchSlotsDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "The location ID",
            "example": "abc123"
          },
          "sessionId": {
            "type": "string",
            "description": "Session ID for edit mode. If not provided, calculates slots for live items.",
            "example": "507f1f77bcf86cd799439011"
          },
          "skip": {
            "type": "number",
            "description": "Number of items to skip",
            "example": 0,
            "default": 0
          },
          "limit": {
            "type": "number",
            "description": "Number of items to return",
            "example": 20,
            "default": 20
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_FetchSlotsResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Slots fetched successfully"
          },
          "slots": {
            "description": "Slot information for items in the requested range",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_UpdatedSlotInfoDTO"
            }
          },
          "total": {
            "type": "number",
            "example": 100,
            "description": "Total number of items in the queue"
          },
          "skip": {
            "type": "number",
            "example": 0,
            "description": "Number of items skipped"
          },
          "limit": {
            "type": "number",
            "example": 20,
            "description": "Number of items returned"
          },
          "timezone": {
            "type": "string",
            "example": "America/New_York",
            "description": "Timezone used for slot calculations"
          }
        }
      },
      "social_planner_v3_WrappedFetchSlotsResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_FetchSlotsResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_UpdateCategoryQueueDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "skipLegacyWatermark": {
            "type": "boolean",
            "description": "Skip legacy watermark cleanup when rescheduling posts",
            "example": false
          },
          "status": {
            "type": "object",
            "description": "Status of the Queue",
            "example": "paused"
          },
          "skipDateTime": {
            "type": "string",
            "description": "Skip Date Time in ISO format",
            "example": "2023-10-05T14:48:00.000Z"
          },
          "timeSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TimeSlotDTO"
            }
          },
          "enableFuturePosts": {
            "type": "boolean",
            "description": "Enable posting future content. Automatically Queue any New Posts Created in this Category.",
            "example": true
          },
          "prioritizeNewContent": {
            "type": "boolean",
            "description": "Prioritize new content over older content. When true, new items added via directToQueue will be placed at the top of the queue.",
            "example": false
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_CategoryQueueDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "Queue ID"
          },
          "locationId": {
            "type": "string",
            "example": "location-123",
            "description": "Location ID"
          },
          "categoryId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "Category ID"
          },
          "timeSlots": {
            "description": "Time slots for scheduling posts",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_TimeSlotDTO"
            }
          },
          "enableFuturePosts": {
            "type": "boolean",
            "example": false,
            "description": "Enable posting future content"
          },
          "prioritizeNewContent": {
            "type": "boolean",
            "example": false,
            "description": "Prioritize new content over older content"
          },
          "currentOrder": {
            "type": "number",
            "example": 1000,
            "description": "Current order number in the queue"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "draft"
            ],
            "example": "active",
            "description": "Status of the queue. Possible values: active, paused, draft."
          },
          "startDate": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T12:00:00Z",
            "description": "Start date of the queue"
          },
          "skipDateTime": {
            "example": [
              "2023-01-02T12:00:00Z"
            ],
            "description": "Dates/times to skip posting",
            "type": "array",
            "items": {
              "format": "date-time",
              "type": "string"
            }
          },
          "currentPostId": {
            "type": "string",
            "example": "60af88475f1b2c001f5d5f4b",
            "description": "ID of the currently scheduled post",
            "nullable": true
          },
          "totalPosts": {
            "type": "number",
            "example": 10,
            "description": "Total number of posts in the queue"
          },
          "lastScheduledTime": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T12:00:00Z",
            "description": "Timestamp of the last scheduled post",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "example": "user-123",
            "description": "ID of the user who created the queue"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T00:00:00Z",
            "description": "Creation timestamp"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-01-01T00:00:00Z",
            "description": "Last update timestamp"
          }
        }
      },
      "social_planner_v3_UpdateCategoryQueueResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue paused successfully.",
            "description": "A message indicating the result of the operation. Examples: \"Queue updated successfully.\", \"Queue paused successfully.\", \"Queue activated successfully.\", \"Queue deleted successfully.\""
          },
          "queue": {
            "description": "The updated queue.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CategoryQueueDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_WrappedUpdateCategoryQueueResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_UpdateCategoryQueueResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_GeneralSuccessResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "The queue item has been successfully deleted.",
            "description": "A message indicating the result of the operation."
          },
          "updatedSlots": {
            "description": "Updated slot information for items affected by the operation",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_UpdatedSlotInfoDTO"
            }
          },
          "totalPostsChanged": {
            "type": "number",
            "example": 5,
            "description": "Number of unique posts that had their slots changed"
          }
        }
      },
      "social_planner_v3_WrappedGeneralSuccessResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_GeneralSuccessResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_QueueModifiedPostDTO": {
        "type": "object",
        "properties": {
          "accountIds": {
            "description": "Account Ids (OAuth only)",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "description": "Post Content",
            "example": "Hello World"
          },
          "media": {
            "description": "Post Media",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PostMediaSchema"
            },
            "example": [
              {
                "url": "https://example.com/image.jpg",
                "type": "image/jpeg",
                "caption": "Sample caption",
                "altText": "A sunset over the ocean with silhouetted palm trees"
              }
            ]
          },
          "status": {
            "type": "object",
            "description": "Post status indicating the current state of the post.\n\n**Available Status Values:**\n- `draft` - Post saved as draft, not yet ready for publishing\n- `scheduled` - Post scheduled for future publishing (requires `scheduleDate`)\n- `in_review` - Post pending approval (requires `scheduleDate` and `postApprovalDetails`)\n- `published` - Post has been published\n- `in_progress` - Post is currently being processed\n- `pending` - Post is awaiting platform processing for Instagram media container creation\n- `failed` - Post publishing failed\n- `notification_sent` - Story notification sent (for manual story posting)\n- `deleted` - Post has been deleted\n\n**Validations:**\n- `scheduled` or `in_review` status requires `scheduleDate` to be set\n- Draft posts skip most validations (accountIds, media requirements)",
            "example": "scheduled"
          },
          "scheduleDate": {
            "type": "string",
            "description": "Schedule Date",
            "example": "2024-01-15T10:00:00Z"
          },
          "selectedBestTime": {
            "type": "string",
            "description": "Selected Best Time slot for scheduling",
            "example": "2024-01-15T10:00:00Z"
          },
          "createdBy": {
            "type": "string",
            "description": "Created By",
            "example": "Lx1EI6YIgQYMQi0ytFXv"
          },
          "followUpComment": {
            "type": "string",
            "description": "Follow-up comment to be posted immediately after the main post is published.\n\n**Supported Platforms:** Facebook, Instagram, LinkedIn, YouTube\n\n**NOT Supported:** TikTok, Google My Business (GMB), Pinterest\n\n**Use Case:** Great for adding hashtags, additional context, or engagement prompts without cluttering the main post.\n\n- Follow-up comment is automatically trimmed to platform limits\n\n**Reference:** [Platform Limitations Guide](https://docs.crm.gesvision.com/guides/platform-limitations)",
            "example": "What do you think? Let us know in the comments!"
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsSchema"
              }
            ],
            "example": {
              "metaImage": "https://example.com/image.jpg",
              "metaLink": "https://www.yahoo.com/",
              "ogTitle": "Page Title",
              "ogDescription": "Page Description"
            }
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostApprovalSchema"
              }
            ],
            "example": {
              "approver": "iVrVJ2uoXNF0wzcBzgl5",
              "approvalStatus": "pending"
            }
          },
          "scheduleTimeUpdated": {
            "type": "boolean",
            "description": "Flag indicating if the schedule datetime was manually updated. Used for tracking rescheduled posts.",
            "example": true
          },
          "tags": {
            "description": "Array of Tag IDs to associate with the post for organization and filtering.\n\n**Get Tag IDs from:** [Get Tags API](./social-planner/get-tags-location-id) — use the `_id` field from each tag.\n\n**Validation:** All IDs must be valid MongoDB ObjectIds.",
            "example": [
              "65f151c99bc2bf3aaf970d72",
              "65f151c99bc2bf3aaf970d73"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "type": "string",
            "description": "Category ID to organize the post. Categories help group related posts.\n\n**Get Category IDs from:** [Get Categories API](./social-planner/get-categories-location-id) — use the `_id` field.\n\n**Validation:** Must be a valid MongoDB ObjectId.",
            "example": "65f151c99bc2bf3aaf970d72"
          },
          "applyWatermark": {
            "type": "boolean",
            "description": "Apply watermark to media in this post.\n\n**Note:** Watermarks are applied to images only. Videos are not watermarked.",
            "example": true
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TiktokPostSchema"
              }
            ],
            "example": {
              "privacyLevel": "PUBLIC_TO_EVERYONE",
              "enableComment": true,
              "enableDuet": false
            }
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GMBPostSchema"
              }
            ],
            "example": {
              "gmbEventType": "STANDARD",
              "actionType": "BOOK",
              "url": "https://example.com"
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID",
            "example": "sdfdsfdsfEWEsdfsdsW32dd"
          },
          "linkedinPostDetails": {
            "description": "Linkedin Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_LinkedinPostSchema"
              }
            ]
          },
          "pinterestPostDetails": {
            "description": "Pinterest Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PinterestPostSchema"
              }
            ]
          },
          "facebookPostDetails": {
            "description": "Facebook Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_FacebookPostSchema"
              }
            ]
          },
          "instagramPostDetails": {
            "description": "Instagram Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_InstagramPostSchema"
              }
            ]
          },
          "youtubePostDetails": {
            "description": "Youtube Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_YoutubePostSchema"
              }
            ]
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "social_planner_v3_OgTagsInputDTO": {
        "type": "object",
        "properties": {
          "metaLink": {
            "type": "object",
            "description": "The canonical URL of the content for link preview.",
            "example": "https://example.com/blog/post-title"
          },
          "metaImage": {
            "type": "object",
            "description": "URL of the image to display in link preview.",
            "example": "https://example.com/images/preview.png"
          },
          "ogTitle": {
            "type": "object",
            "description": "Title to display in link preview.",
            "example": "Check out our latest blog post!"
          }
        }
      },
      "social_planner_v3_VariationInputDTO": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "The text content of the variation.",
            "example": "Check out our latest blog post! #marketing #socialmedia"
          },
          "mentions": {
            "description": "Platform-specific mentions within the content (e.g., @username references).",
            "example": [
              {
                "platform": "instagram",
                "username": "example_user",
                "offset": 10,
                "length": 12
              }
            ],
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "ogTags": {
            "description": "Open Graph tags for link previews.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsInputDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_UpdateQueueItemDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "modifiedPostPayload": {
            "description": "Modifications to the original post",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_QueueModifiedPostDTO"
              }
            ]
          },
          "newOrder": {
            "description": "New order value or position keyword (cyclic-aware). Accepts:\n- A number: explicit order value calculated by FE as midpoint between adjacent items\n- \"top\": place at cyclic top (first to be scheduled next)\n- \"bottom\": place at cyclic bottom (last to be scheduled)\n\nFor positions between items, FE calculates: Math.floor((prevItem.order + nextItem.order) / 2)",
            "example": "top",
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string"
              }
            ]
          },
          "variations": {
            "description": "Variations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationInputDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "Primary media URL (image)",
            "example": "http://example.com/media.png"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_GetModifiedPayloadFormattedSchema": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "example": "61bb16833b3f2791f9715be2",
            "description": "MongoDB document ID of the post"
          },
          "source": {
            "type": "string",
            "description": "source must be one of the following values: composer, recurring, csv",
            "enum": [
              "composer",
              "csv",
              "recurring",
              "review",
              "rss",
              "template-library",
              "category-queue",
              "native"
            ],
            "example": "composer"
          },
          "locationId": {
            "type": "string",
            "description": "Location Id",
            "example": "ve9EPM428h8vShlRW1KT"
          },
          "displayDate": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Display date for the post"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Date when the post was created"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-02T00:00:00.000Z",
            "description": "Date when the post was last updated"
          },
          "accountId": {
            "type": "string",
            "description": "Account Id",
            "example": "w37swmmLbA02zgqKPpxITe"
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "Failed due to auth token"
          },
          "postId": {
            "type": "string",
            "example": "323534534435",
            "description": "Platform-specific post identifier"
          },
          "publishedAt": {
            "type": "string",
            "example": "2021-06-22T05:32:49.463Z",
            "description": "Date when the post was published"
          },
          "thumbnail": {
            "type": "string",
            "description": "Post-level cover image (thumbnail) URL.\n\nFor posts that contain a video, this is the resolved cover image used for the first video in `media[]`. It is set automatically from the `thumbnail` provided on the first video media item at create/edit time, or auto-generated from the video when one is not supplied. Per-item thumbnails inside `media[]` are not retained on the response — the primary cover image lives on this field.",
            "example": "https://storage.googleapis.com/test/test/media/test.jpeg"
          },
          "accountIds": {
            "description": "Account Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "summary": {
            "type": "string",
            "example": "Sample Summary",
            "description": "Content text of the post"
          },
          "media": {
            "description": "Post Media Data \n The limitations of media as per the platforms is provided through the reference link in API description",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_PostMediaSchema"
            },
            "example": [
              {
                "url": "https://example.com/image.jpg",
                "type": "image/jpeg",
                "caption": "Sample caption",
                "altText": "A sunset over the ocean with silhouetted palm trees"
              }
            ]
          },
          "status": {
            "type": "object",
            "description": "Status must be one of the following values: in_progress, draft, failed, published, scheduled, in_review, notification_sent, deleted",
            "example": "published"
          },
          "createdBy": {
            "type": "string",
            "example": "Lx1EI6YIgQYMQi0ytFXv",
            "description": "User ID who created the post"
          },
          "type": {
            "type": "object",
            "description": "Post Type must be one of the following values: - post, story, reel",
            "example": "post"
          },
          "tags": {
            "description": "Tag Ids",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ogTagsDetails": {
            "description": "Og Tags Meta Data",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_OgTagsSchema"
              }
            ],
            "example": {
              "metaImage": "https://example.com/image.jpg",
              "metaLink": "https://www.yahoo.com/",
              "ogTitle": "Page Title",
              "ogDescription": "Page Description"
            }
          },
          "postApprovalDetails": {
            "description": "Post Approval Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_FormatedApprovalDetails"
              }
            ],
            "example": {
              "approver": "iVrVJ2uoXNF0wzcBzgl5",
              "approvalStatus": "approved"
            }
          },
          "tiktokPostDetails": {
            "description": "Tiktok Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_TiktokPostSchema"
              }
            ],
            "example": {
              "privacyLevel": "PUBLIC_TO_EVERYONE",
              "enableComment": true
            }
          },
          "gmbPostDetails": {
            "description": "GMB Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GMBPostSchema"
              }
            ],
            "example": {
              "gmbEventType": "STANDARD",
              "actionType": "BOOK"
            }
          },
          "user": {
            "description": "User",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PostUserSchema"
              }
            ],
            "example": {
              "id": "6284c43d519161e96cc09c13",
              "firstName": "Harry",
              "lastName": "Spencer",
              "email": "abc@xyc.com"
            }
          },
          "linkedinPostDetails": {
            "description": "Linkedin Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_LinkedinPostSchema"
              }
            ]
          },
          "pinterestPostDetails": {
            "description": "Pinterest Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_PinterestPostSchema"
              }
            ]
          },
          "facebookPostDetails": {
            "description": "Facebook Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_FacebookPostSchema"
              }
            ]
          },
          "instagramPostDetails": {
            "description": "Instagram Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_InstagramPostSchema"
              }
            ]
          },
          "youtubePostDetails": {
            "description": "Youtube Post Details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_YoutubePostSchema"
              }
            ]
          },
          "mediaOptimization": {
            "type": "boolean",
            "description": "Pass this parameter to optimize the image media",
            "example": true
          }
        },
        "required": [
          "locationId",
          "error",
          "type"
        ]
      },
      "social_planner_v3_CreatedQueueItemWithVariationsDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the queue item.",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "order": {
            "type": "number",
            "description": "The order of the item in the queue.",
            "example": 1000
          },
          "variations": {
            "description": "A list of content variations for the post.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "The primary image URL for the post.",
            "example": "https://example.com/images/post-image.png"
          },
          "lastScheduledTime": {
            "format": "date-time",
            "type": "string",
            "example": null,
            "description": "Timestamp of the last scheduled post. Always null for a new queue.",
            "nullable": true
          },
          "queueId": {
            "type": "string",
            "description": "The ID of the queue this post belongs to",
            "example": "60af88475f1b2c001f5d5f4a"
          },
          "postId": {
            "type": "string",
            "description": "The ID of the original post, if any.",
            "example": "60af88475f1b2c001f5d5f4d"
          },
          "modifiedPostPayload": {
            "description": "The formatted post data modified from original post.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetModifiedPayloadFormattedSchema"
              }
            ]
          },
          "parentPostId": {
            "type": "string",
            "description": "The ID of the parent post before splitting to individual social posts.",
            "example": "60af88475f1b2c001f5d5f4e"
          },
          "errors": {
            "example": [
              "INVALID_USER_ID",
              "PIXABAY_MEDIA"
            ],
            "description": "List of errors associated with the queue item. Possible values: INVALID_USER_ID, PIXABAY_MEDIA.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currentVariation": {
            "type": "number",
            "description": "The index of the current variation being used for this post",
            "example": 0
          },
          "createdAt": {
            "type": "string",
            "example": "2024-12-09T13:41:21.385Z",
            "description": "Creation timestamp"
          },
          "updatedAt": {
            "type": "string",
            "example": "2024-12-09T13:41:21.385Z",
            "description": "Last update timestamp"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Indicates if the item is deleted"
          },
          "locationId": {
            "type": "string",
            "example": "fvg1TXIiVxGcdOaL0riG",
            "description": "Location ID"
          }
        }
      },
      "social_planner_v3_UpdateQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue item updated successfully",
            "description": "A message indicating the result of the operation."
          },
          "queueItem": {
            "description": "The updated queue item.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CreatedQueueItemWithVariationsDTO"
              }
            ]
          },
          "updatedSlots": {
            "description": "Updated slot information for items affected by reorder operation",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_UpdatedSlotInfoDTO"
            }
          },
          "totalPostsChanged": {
            "type": "number",
            "example": 5,
            "description": "Number of unique posts that had their slots changed"
          }
        }
      },
      "social_planner_v3_WrappedUpdateQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_UpdateQueueItemResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_CalendarListDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "startDate": {
            "type": "string",
            "description": "Start Date in ISO format",
            "example": "2023-10-01T00:00:00.000Z"
          },
          "endDate": {
            "type": "string",
            "description": "End Date in ISO format",
            "example": "2023-10-31T23:59:59.999Z"
          },
          "categoryIds": {
            "description": "Category Id",
            "example": [
              "64e431dcaf507c4b26dbdf8b"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accountIds": {
            "description": "Filter by Account IDs. If not provided or empty, returns all posts.",
            "example": [
              "aF3KhyL8JIuBwzK3m7Ly_iVrVJ2uoXNF0wzcBzgl5_12554616564525983496"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "locationId",
          "startDate",
          "endDate"
        ]
      },
      "social_planner_v3_ScheduledPostDTO": {
        "type": "object",
        "properties": {
          "scheduledDateTime": {
            "format": "date-time",
            "type": "string",
            "description": "The date and time the post is scheduled to be published",
            "example": "2023-10-15T10:00:00.000Z"
          },
          "post": {
            "description": "The formatted post data.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
              }
            ]
          },
          "queueItemId": {
            "type": "string",
            "description": "The unique identifier of the queue item.",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "queueId": {
            "type": "string",
            "description": "The ID of the queue this post belongs to",
            "example": "60af88475f1b2c001f5d5f4a"
          },
          "order": {
            "type": "number",
            "description": "The order of the item in the queue.",
            "example": 1000
          },
          "variations": {
            "description": "A list of content variations for the post.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "The primary image URL for the post.",
            "example": "https://example.com/images/post-image.png"
          },
          "errors": {
            "example": [
              "INVALID_USER_ID",
              "PIXABAY_MEDIA"
            ],
            "description": "List of errors associated with the queue item. Possible values: INVALID_USER_ID, PIXABAY_MEDIA.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "nullable": true,
            "description": "The category associated with this post",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CategoryInfoDTO"
              }
            ]
          },
          "currentVariation": {
            "type": "number",
            "description": "The index of the current variation being used for this post",
            "example": 0
          },
          "timezone": {
            "type": "string",
            "description": "The timezone in which the post is scheduled",
            "example": "America/New_York"
          }
        }
      },
      "social_planner_v3_FetchCalendarListResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Calendar list fetched successfully"
          },
          "scheduledPosts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_ScheduledPostDTO"
            }
          },
          "total": {
            "type": "number",
            "description": "Total number of scheduled posts returned"
          },
          "timezone": {
            "type": "string",
            "description": "The timezone used for scheduling, e.g., \"Asia/Calcutta\""
          }
        }
      },
      "social_planner_v3_WrappedFetchCalendarListResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_FetchCalendarListResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_DeleteActivePostResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Current post deleted and next post scheduled successfully",
            "description": "A message indicating the result of the operation."
          }
        }
      },
      "social_planner_v3_WrappedDeleteActivePostResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_DeleteActivePostResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_ResetQueueItemDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_QueueItemWithVariationsDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "The unique identifier of the queue item.",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "order": {
            "type": "number",
            "description": "The order of the item in the queue.",
            "example": 1000
          },
          "variations": {
            "description": "A list of content variations for the post.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "The primary image URL for the post.",
            "example": "https://example.com/images/post-image.png"
          },
          "postId": {
            "type": "string",
            "description": "The ID of the original post, if any.",
            "example": "60af88475f1b2c001f5d5f4d"
          },
          "post": {
            "description": "The formatted post data.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_GetPostFormattedSchema"
              }
            ]
          },
          "errors": {
            "example": [
              "INVALID_USER_ID",
              "PIXABAY_MEDIA"
            ],
            "description": "List of errors associated with the queue item. Possible values: INVALID_USER_ID, PIXABAY_MEDIA.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scheduledDateTime": {
            "format": "date-time",
            "type": "string",
            "description": "The calculated date/time when this item is scheduled to be posted",
            "example": "2023-10-15T10:00:00.000Z",
            "nullable": true
          },
          "scheduledVariationIndex": {
            "type": "number",
            "description": "The variation index that will be used when this item is posted",
            "example": 0
          },
          "isSkipped": {
            "type": "boolean",
            "description": "Indicates if this time slot is skipped and the post will not be published at this time",
            "example": false
          },
          "currentVariation": {
            "type": "number",
            "description": "The index of the current variation being used for this post",
            "example": 0
          }
        }
      },
      "social_planner_v3_ResetQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue item reset successfully",
            "description": "A message indicating the result of the operation. Examples: \"Queue item reset successfully\", \"Dummy queue item deleted successfully\"."
          },
          "queueItem": {
            "description": "The reset queue item, including its current variation.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_QueueItemWithVariationsDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_WrappedResetQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 200
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_ResetQueueItemResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_CloneQueueItemDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "order": {
            "type": "number",
            "description": "Order for the cloned item (typically between source and next item)",
            "example": 1.5
          }
        },
        "required": [
          "locationId",
          "sessionId",
          "order"
        ]
      },
      "social_planner_v3_CloneQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue item cloned successfully",
            "description": "A message indicating the result of the operation."
          },
          "queueItem": {
            "description": "The cloned queue item",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CreatedQueueItemWithVariationsDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_WrappedCloneQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_CloneQueueItemResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_CreateQueueItemDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "609e126a1c4ae1001291e1b5"
          },
          "sessionId": {
            "type": "string",
            "description": "Edit session ID",
            "example": "60af88475f1b2c001f5d5f4b"
          },
          "modifiedPostPayload": {
            "description": "New post details",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_QueueModifiedPostDTO"
              }
            ]
          },
          "order": {
            "description": "Order for the new item in the queue (cyclic-aware). Accepts:\n- A number: explicit order value calculated by FE as midpoint between adjacent items\n- \"top\": place at cyclic top (first to be scheduled next)\n- \"bottom\": place at cyclic bottom (last to be scheduled)\n\nFor positions between items, FE calculates: Math.floor((prevItem.order + nextItem.order) / 2)\nDefaults to end if not provided. Note: This field is ignored when directToQueue is true -\nthe order will be automatically calculated based on the queue's prioritizeNewContent setting.",
            "example": "top",
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string"
              }
            ]
          },
          "variations": {
            "description": "Variations",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_VariationInputDTO"
            }
          },
          "primaryImage": {
            "type": "string",
            "description": "Primary media URL (image) for the post. Falls back to modifiedPostPayload.primaryImage if not set.",
            "example": "http://example.com/media.png"
          },
          "directToQueue": {
            "type": "boolean",
            "description": "When true, creates the queue item directly without requiring an edit session, even for active/paused queues. The order field is ignored and the item position is determined by the queue's prioritizeNewContent setting: if true, the item is added to the top of the queue; if false, it is added to the bottom.",
            "example": false
          }
        },
        "required": [
          "locationId"
        ]
      },
      "social_planner_v3_CreateQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Queue item created successfully",
            "description": "A message indicating the result of the operation."
          },
          "queueItem": {
            "description": "The newly created queue item",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CreatedQueueItemWithVariationsDTO"
              }
            ]
          }
        }
      },
      "social_planner_v3_WrappedCreateQueueItemResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "example": 201
          },
          "results": {
            "$ref": "#/components/schemas/social_planner_v3_CreateQueueItemResponseDTO"
          },
          "traceId": {
            "type": "string"
          }
        },
        "required": [
          "success",
          "statusCode",
          "results"
        ]
      },
      "social_planner_v3_CommentsCreateBodyDTO": {
        "type": "object",
        "properties": {
          "parentId": {
            "type": "string",
            "description": "For top-level comments (`isParentThread: true`): pass the post ID returned by the posts API. For replies (`isParentThread: false`): pass the parent comment ID returned by the list-comments API. In both cases this must be a valid 24-character CRM Gesvision ID — not the native platform ID.",
            "example": "6975b186f3442844ec07665b"
          },
          "isParentThread": {
            "type": "boolean",
            "description": "Set `true` to create a top-level comment on a post (parentId = post ID). Set `false` to create a reply to an existing comment (parentId = comment ID).",
            "example": true
          },
          "content": {
            "type": "string",
            "description": "Content of the comment. Per-platform max length: Facebook 8000, Instagram 2200, Linkedin 3000, Community 8000, Tiktok 150, Bluesky 300, Youtube 10000, Threads 500.",
            "example": "This is a comment"
          },
          "attachments": {
            "description": "Attachments for the comment (max 1 image). **Supported on:** Facebook only. **Not supported on:** Instagram, LinkedIn, TikTok, Bluesky, Community — the field is accepted by the API but the attachment will not appear on the comment. (Community processes the field server-side, but external URLs are not rendered due to its bucket restriction.)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_AttachmentDTO"
            }
          },
          "mentions": {
            "description": "Mentions for the comment. **Supported on:** Facebook, LinkedIn, Community. **Ignored on:** Instagram, TikTok, Bluesky — the field is accepted but mentions are not rendered on these platforms.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_MentionsDTO"
            }
          },
          "notifyAllGroupMembers": {
            "type": "boolean",
            "description": "When `true`, all members of the Community group receive a push/in-app notification about this comment — equivalent to an `@everyone` broadcast.\n\n**Supported on:** Community only. Ignored on all other platforms (the field is accepted but no notification is sent).\n\n**Independent of the `mentions` array** — you do not need to add an `@everyone` entry to `mentions` for this to take effect. Conversely, putting the literal text `@everyone` in `content` does **not** by itself trigger notifications; only this flag does.\n\nDefaults to `false` (no broadcast notification). Use `true` only when the comment is genuinely intended for every member of the group — overuse may cause members to mute the group.",
            "example": false
          }
        },
        "required": [
          "parentId",
          "isParentThread",
          "content"
        ]
      },
      "social_planner_v3_CommentsCreateResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Created Comment"
          },
          "results": {
            "description": "The created comment",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CommentItemDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message",
          "results"
        ]
      },
      "social_planner_v3_CommentsLikeResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Created Like"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_DeleteLikeResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Deleted Like"
          }
        },
        "required": [
          "success",
          "statusCode",
          "message"
        ]
      },
      "social_planner_v3_CommentsGetListBodyDTO": {
        "type": "object",
        "properties": {
          "fromDate": {
            "type": "string",
            "description": "Start of the published-date window (ISO 8601). If provided, `toDate` is also required, and `fromDate` must be ≤ `toDate`. Omit both to disable date filtering.",
            "example": "2026-05-22T05:32:49.463Z"
          },
          "toDate": {
            "type": "string",
            "description": "End of the published-date window (ISO 8601). If provided, `fromDate` is also required.",
            "example": "2026-05-29T05:32:49.463Z"
          },
          "originIds": {
            "description": "Origin IDs of connected accounts to filter by",
            "example": [
              "1234",
              "5678",
              "9101"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "type": "string",
            "description": "Sort by top comments or latest comments",
            "example": "top",
            "default": "latest",
            "enum": [
              "top",
              "latest"
            ]
          },
          "search": {
            "type": "string",
            "description": "Search",
            "example": "1234"
          },
          "skip": {
            "type": "number",
            "description": "Pagination offset — number of comments to skip (zero-based). Must be ≥ 0.",
            "example": 0,
            "default": 0,
            "minimum": 0
          },
          "limit": {
            "type": "number",
            "description": "Pagination page size — number of comments to return. Must be between 1 and 100.",
            "example": 10,
            "default": 10,
            "minimum": 1,
            "maximum": 100
          },
          "parentId": {
            "type": "string",
            "description": "Parent ID — pass the CRM Gesvision post ID (for replies under a specific post) or the CRM Gesvision comment ID (for replies under a specific comment). Omit to list all top-level comments for the location filtered by `originIds`. Must be a valid 24-character CRM Gesvision ID, not the native platform ID.",
            "example": "6975b186f3442844ec07665b"
          }
        },
        "required": [
          "originIds"
        ]
      },
      "social_planner_v3_CommentsGetListResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Success or Failure",
            "example": true
          },
          "statusCode": {
            "type": "number",
            "description": "Status Code",
            "example": 201
          },
          "message": {
            "type": "string",
            "description": "Message",
            "example": "Fetched Comments"
          },
          "results": {
            "description": "Comments and pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CommentsGetListResultsDTO"
              }
            ]
          }
        },
        "required": [
          "success",
          "statusCode",
          "message",
          "results"
        ]
      },
      "social_planner_v3_AttachmentDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the attachment",
            "example": "https://example.com/image.jpg"
          },
          "type": {
            "type": "string",
            "description": "Type of the attachment",
            "example": "image",
            "enum": [
              "image"
            ]
          }
        },
        "required": [
          "url",
          "type"
        ]
      },
      "social_planner_v3_MentionsDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Mention name",
            "example": "Test"
          },
          "id": {
            "type": "string",
            "description": "Mention ID",
            "example": "102694781978972"
          },
          "offset": {
            "type": "number",
            "description": "Mention offset",
            "example": "106"
          },
          "length": {
            "type": "number",
            "description": "Mention length",
            "example": "106"
          },
          "slug": {
            "type": "string",
            "description": "Mention slug for community profile link",
            "example": "mohammed-marvan-8bRf3H"
          }
        },
        "required": [
          "name",
          "id",
          "offset",
          "length"
        ]
      },
      "social_planner_v3_CommentsGetListResultsDTO": {
        "type": "object",
        "properties": {
          "comments": {
            "description": "List of comments",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CommentItemDTO"
            }
          },
          "meta": {
            "description": "Pagination metadata",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CommentsListMetaDTO"
              }
            ]
          }
        },
        "required": [
          "comments",
          "meta"
        ]
      },
      "social_planner_v3_CommentItemDTO": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "CRM Gesvision comment ID",
            "example": "507f1f77bcf86cd799439011"
          },
          "platform": {
            "type": "string",
            "description": "Platform the comment was posted on",
            "example": "facebook"
          },
          "platformCommentId": {
            "type": "string",
            "description": "Native platform comment ID",
            "example": "122129390871181019_974705035458625"
          },
          "platformParentId": {
            "type": "string",
            "description": "Native platform parent ID (the post or comment this is a reply to)",
            "example": "956033194258752_122129390871181019"
          },
          "platformPostId": {
            "type": "string",
            "description": "Native platform post ID",
            "example": "122129390871181019"
          },
          "postId": {
            "type": "string",
            "description": "CRM Gesvision post ID",
            "example": "6a169db95c78177a5c24ef7c"
          },
          "originId": {
            "type": "string",
            "description": "Connected account / page ID on the native platform",
            "example": "956033194258752"
          },
          "isParentThread": {
            "type": "boolean",
            "description": "True if this comment is a top-level comment on the post; false if it is a reply to another comment",
            "example": true
          },
          "isPost": {
            "type": "boolean",
            "description": "True if this record represents the root post (not a comment)",
            "example": false
          },
          "content": {
            "type": "string",
            "description": "Comment content. May be empty or missing for attachment-only comments.",
            "example": "Nice post!"
          },
          "attachments": {
            "description": "Attachments on the comment",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/social_planner_v3_CommentAttachmentDTO"
            }
          },
          "author": {
            "description": "Author of the comment. May be partial or missing for some sync paths.",
            "allOf": [
              {
                "$ref": "#/components/schemas/social_planner_v3_CommentAuthorDTO"
              }
            ]
          },
          "level": {
            "type": "number",
            "description": "Comment depth (0 = post, 1 = comment, 2 = reply)",
            "example": 1
          },
          "likeCount": {
            "type": "number",
            "description": "Number of likes on the comment",
            "example": 0
          },
          "reactionCount": {
            "type": "number",
            "description": "Number of reactions on the comment",
            "example": 0
          },
          "replyCount": {
            "type": "number",
            "description": "Number of replies to the comment",
            "example": 0
          },
          "shareCount": {
            "type": "number",
            "description": "Number of shares of the comment",
            "example": 0
          },
          "repostCount": {
            "type": "number",
            "description": "Number of reposts of the comment (platform-specific)",
            "example": 0
          },
          "quoteCount": {
            "type": "number",
            "description": "Number of quote posts (platform-specific)",
            "example": 0
          },
          "previewLink": {
            "type": "string",
            "description": "Direct link to view the comment on the native platform",
            "example": "https://www.facebook.com/.../posts/..."
          },
          "isRead": {
            "type": "boolean",
            "description": "Whether the comment has been read",
            "example": false
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Whether the comment was deleted",
            "example": false
          },
          "isEdited": {
            "type": "boolean",
            "description": "Whether the comment was edited",
            "example": false
          },
          "publishedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Time the comment was published on the native platform. May be missing for legacy or webhook-synced records.",
            "example": "2026-04-01T10:00:00.000Z"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Time the comment record was created in CRM Gesvision",
            "example": "2026-04-01T10:00:00.000Z"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "description": "Time the comment record was last updated in CRM Gesvision",
            "example": "2026-04-01T10:00:00.000Z"
          }
        },
        "required": [
          "_id",
          "platform",
          "postId",
          "originId",
          "isPost",
          "likeCount",
          "reactionCount",
          "replyCount",
          "shareCount",
          "repostCount",
          "quoteCount",
          "isRead",
          "isDeleted",
          "isEdited"
        ]
      },
      "social_planner_v3_CommentsListMetaDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total comments matching the query",
            "example": 42
          },
          "totalUnread": {
            "type": "number",
            "description": "Total unread comments matching the query",
            "example": 7
          },
          "skip": {
            "type": "number",
            "description": "Pagination skip",
            "example": 0
          },
          "limit": {
            "type": "number",
            "description": "Pagination limit",
            "example": 10
          },
          "hasMore": {
            "type": "boolean",
            "description": "True if more pages exist beyond this batch",
            "example": true
          }
        },
        "required": [
          "total",
          "skip",
          "limit",
          "hasMore"
        ]
      },
      "social_planner_v3_CommentAuthorDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Platform author ID",
            "example": "123456789"
          },
          "name": {
            "type": "string",
            "description": "Author display name",
            "example": "John Doe"
          },
          "profilePic": {
            "type": "string",
            "description": "Author profile picture URL",
            "example": "https://example.com/avatar.jpg"
          }
        }
      },
      "social_planner_v3_CommentAttachmentDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Attachment MIME type or platform-specific type",
            "example": "image/jpeg"
          },
          "url": {
            "type": "string",
            "description": "Attachment URL",
            "example": "https://example.com/image.jpg"
          },
          "thumbnail": {
            "type": "string",
            "description": "Thumbnail URL",
            "example": "https://example.com/thumb.jpg"
          },
          "videoUrl": {
            "type": "string",
            "description": "Video URL (when attachment is a video)",
            "example": "https://example.com/video.mp4"
          }
        }
      },
      "store_v3_ShippingZoneCountryStateDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "State code",
            "enum": [
              "AL",
              "AK",
              "AS",
              "AZ",
              "AR",
              "AA",
              "AE",
              "AP",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FM",
              "FL",
              "GA",
              "GU",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MH",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "MP",
              "OH",
              "OK",
              "OR",
              "PW",
              "PA",
              "PR",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "MB",
              "NB",
              "NL",
              "NT",
              "NS",
              "NU",
              "ON",
              "PE",
              "QC",
              "SK",
              "YT",
              "BA",
              "CT",
              "CC",
              "CH",
              "CB",
              "CN",
              "ER",
              "FO",
              "JY",
              "LP",
              "LR",
              "MZ",
              "MN",
              "NQ",
              "RN",
              "SA",
              "SJ",
              "SL",
              "SC",
              "SF",
              "SE",
              "TF",
              "TU",
              "ACT",
              "NSW",
              "NT",
              "QLD",
              "SA",
              "TAS",
              "VIC",
              "WA",
              "AC",
              "AL",
              "AM",
              "AP",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MG",
              "MS",
              "MT",
              "PA",
              "PB",
              "PE",
              "PI",
              "PR",
              "RJ",
              "RN",
              "RO",
              "RR",
              "RS",
              "SC",
              "SE",
              "SP",
              "TO",
              "AI",
              "AN",
              "AP",
              "AT",
              "BI",
              "CO",
              "AR",
              "LI",
              "LL",
              "LR",
              "MA",
              "ML",
              "RM",
              "TA",
              "VS",
              "NB",
              "AMA",
              "ANT",
              "ARA",
              "ATL",
              "BOL",
              "BOY",
              "CAL",
              "CAQ",
              "CAS",
              "CAU",
              "CES",
              "CHO",
              "CUN",
              "COR",
              "GUA",
              "GUV",
              "HUI",
              "LAG",
              "MAG",
              "MET",
              "NAR",
              "NSA",
              "PUT",
              "QUI",
              "RIS",
              "SAP",
              "SAN",
              "SUC",
              "TOL",
              "VAC",
              "VAU",
              "VID",
              "CR-A",
              "CR-C",
              "CR-G",
              "CR-H",
              "CR-L",
              "CR-P",
              "CR-SJ",
              "GT-16",
              "GT-15",
              "GT-04",
              "GT-20",
              "GT-02",
              "GT-05",
              "GT-01",
              "GT-13",
              "GT-18",
              "GT-21",
              "GT-22",
              "GT-17",
              "GT-09",
              "GT-14",
              "GT-11",
              "GT-03",
              "GT-12",
              "GT-06",
              "GT-07",
              "GT-10",
              "GT-08",
              "GT-19",
              "HK",
              "KL",
              "NT",
              "AN",
              "AP",
              "AR",
              "AS",
              "BR",
              "CH",
              "CG",
              "DN",
              "DD",
              "DL",
              "GA",
              "GJ",
              "HR",
              "HP",
              "JK",
              "JH",
              "KA",
              "KL",
              "LA",
              "LD",
              "MP",
              "MH",
              "MN",
              "ML",
              "MZ",
              "NL",
              "OR",
              "PY",
              "PB",
              "RJ",
              "SK",
              "TN",
              "TS",
              "TR",
              "UP",
              "UK",
              "WB",
              "CW",
              "CN",
              "CE",
              "CO",
              "DL",
              "D",
              "G",
              "KY",
              "KE",
              "KK",
              "LS",
              "LM",
              "LK",
              "LD",
              "LH",
              "MO",
              "MH",
              "MN",
              "OY",
              "RN",
              "SO",
              "TA",
              "WD",
              "WH",
              "WX",
              "WW",
              "AG",
              "AL",
              "AN",
              "AO",
              "AR",
              "AP",
              "AT",
              "AV",
              "BA",
              "BT",
              "BL",
              "BN",
              "BG",
              "BI",
              "BO",
              "BZ",
              "BS",
              "BR",
              "CA",
              "CL",
              "CB",
              "CI",
              "CE",
              "CT",
              "CZ",
              "CH",
              "CO",
              "CS",
              "CR",
              "KR",
              "CN",
              "EN",
              "FM",
              "FE",
              "FI",
              "FG",
              "FC",
              "FR",
              "GE",
              "GO",
              "GR",
              "IM",
              "IS",
              "AQ",
              "SP",
              "LT",
              "LE",
              "LC",
              "LI",
              "LO",
              "LU",
              "MC",
              "MN",
              "MS",
              "MT",
              "VS",
              "ME",
              "MI",
              "MO",
              "MB",
              "NA",
              "NO",
              "NU",
              "OG",
              "OT",
              "OR",
              "PD",
              "PA",
              "PR",
              "PV",
              "PG",
              "PU",
              "PE",
              "PC",
              "PI",
              "PT",
              "PN",
              "PZ",
              "PO",
              "RG",
              "RA",
              "RC",
              "RE",
              "RI",
              "RN",
              "RM",
              "RO",
              "SA",
              "SS",
              "SV",
              "SI",
              "SR",
              "SO",
              "TA",
              "TE",
              "TR",
              "TO",
              "TP",
              "TN",
              "TV",
              "TS",
              "UD",
              "VA",
              "VE",
              "VB",
              "VC",
              "VR",
              "VV",
              "VI",
              "VT",
              "JP-23",
              "JP-05",
              "JP-02",
              "JP-12",
              "JP-38",
              "JP-18",
              "JP-40",
              "JP-07",
              "JP-21",
              "JP-10",
              "JP-34",
              "JP-01",
              "JP-28",
              "JP-08",
              "JP-17",
              "JP-03",
              "JP-37",
              "JP-46",
              "JP-14",
              "JP-39",
              "JP-43",
              "JP-26",
              "JP-24",
              "JP-04",
              "JP-45",
              "JP-20",
              "JP-42",
              "JP-29",
              "JP-15",
              "JP-44",
              "JP-33",
              "JP-47",
              "JP-27",
              "JP-41",
              "JP-11",
              "JP-25",
              "JP-32",
              "JP-22",
              "JP-09",
              "JP-36",
              "JP-13",
              "JP-31",
              "JP-16",
              "JP-30",
              "JP-06",
              "JP-35",
              "JP-19",
              "JHR",
              "KDH",
              "KTN",
              "KUL",
              "LBN",
              "MLK",
              "NSN",
              "PHG",
              "PNG",
              "PRK",
              "PLS",
              "PJY",
              "SBH",
              "SWK",
              "SGR",
              "TRG",
              "AGU",
              "BCN",
              "BCS",
              "CAM",
              "CHP",
              "CHH",
              "CMX",
              "COA",
              "COL",
              "DUR",
              "GUA",
              "GRO",
              "HID",
              "JAL",
              "MIC",
              "MOR",
              "MEX",
              "NAY",
              "NLE",
              "OAX",
              "PUE",
              "QUE",
              "ROO",
              "SLP",
              "SIN",
              "SON",
              "TAB",
              "TAM",
              "TLA",
              "VER",
              "YUC",
              "ZAC",
              "AUK",
              "BOP",
              "CAN",
              "CIT",
              "GIS",
              "HKB",
              "MWT",
              "MBH",
              "NSN",
              "NTL",
              "OTA",
              "STL",
              "TKI",
              "TAS",
              "WKO",
              "WGN",
              "WTC",
              "JK",
              "BA",
              "GB",
              "IS",
              "KP",
              "PB",
              "SD",
              "AMA",
              "ANC",
              "APU",
              "ARE",
              "AYA",
              "CAJ",
              "CAL",
              "CUS",
              "HUV",
              "HUC",
              "ICA",
              "JUN",
              "LAL",
              "LAM",
              "LIM",
              "LOR",
              "MDD",
              "MOQ",
              "PAS",
              "PIU",
              "PUN",
              "SAM",
              "TAC",
              "TUM",
              "UCA",
              "PH-ABR",
              "PH-AGN",
              "PH-AGS",
              "PH-AKL",
              "PH-ALB",
              "PH-ANT",
              "PH-APA",
              "PH-AUR",
              "PH-BAS",
              "PH-BAN",
              "PH-BTN",
              "PH-BTG",
              "PH-BEN",
              "PH-BIL",
              "PH-BOH",
              "PH-BUK",
              "PH-BUL",
              "PH-CAG",
              "PH-CAN",
              "PH-CAS",
              "PH-CAM",
              "PH-CAP",
              "PH-CAT",
              "PH-CAV",
              "PH-CEB",
              "PH-NCO",
              "PH-DAO",
              "PH-DAV",
              "PH-DAS",
              "PH-EAS",
              "PH-GUI",
              "PH-IFU",
              "PH-ILN",
              "PH-ILS",
              "PH-ILI",
              "PH-ISA",
              "PH-KAL",
              "PH-LUN",
              "PH-LAG",
              "PH-LAN",
              "PH-LAS",
              "PH-LEY",
              "PH-MAG",
              "PH-MAD",
              "PH-MAS",
              "PH-00",
              "PH-MSC",
              "PH-MSR",
              "PH-MOU",
              "PH-NEC",
              "PH-NER",
              "PH-NSA",
              "PH-NUE",
              "PH-NUV",
              "PH-MDC",
              "PH-MDR",
              "PH-PLW",
              "PH-PAM",
              "PH-PAN",
              "PH-QUE",
              "PH-QUI",
              "PH-RIZ",
              "PH-ROM",
              "PH-WSA",
              "PH-SAR",
              "PH-SIG",
              "PH-SOR",
              "PH-SCO",
              "PH-SLE",
              "PH-SUK",
              "PH-SLU",
              "PH-SUN",
              "PH-SUR",
              "PH-TAR",
              "PH-TAW",
              "PH-ZMB",
              "PH-ZAN",
              "PH-ZAS",
              "PH-ZSI",
              "PT-20",
              "PT-01",
              "PT-02",
              "PT-03",
              "PT-04",
              "PT-05",
              "PT-06",
              "PT-07",
              "PT-08",
              "PT-09",
              "PT-10",
              "PT-11",
              "PT-30",
              "PT-12",
              "PT-13",
              "PT-14",
              "PT-15",
              "PT-16",
              "PT-17",
              "PT-18",
              "AB",
              "AR",
              "AG",
              "BC",
              "BH",
              "BN",
              "BT",
              "BR",
              "BV",
              "B",
              "BZ",
              "CL",
              "CS",
              "CJ",
              "CT",
              "CV",
              "DB",
              "DJ",
              "GL",
              "GR",
              "GJ",
              "HR",
              "HD",
              "IL",
              "IS",
              "IF",
              "MM",
              "MH",
              "MS",
              "NT",
              "OT",
              "PH",
              "SJ",
              "SM",
              "SB",
              "SV",
              "TR",
              "TM",
              "TL",
              "VL",
              "VS",
              "VN",
              "KR-26",
              "KR-43",
              "KR-44",
              "KR-27",
              "KR-30",
              "KR-42",
              "KR-29",
              "KR-47",
              "KR-41",
              "KR-48",
              "KR-28",
              "KR-49",
              "KR-45",
              "KR-46",
              "KR-50",
              "KR-11",
              "KR-31",
              "C",
              "VI",
              "AB",
              "A",
              "AL",
              "O",
              "AV",
              "BA",
              "PM",
              "B",
              "BU",
              "CC",
              "CA",
              "S",
              "CS",
              "CE",
              "CR",
              "CO",
              "CU",
              "GI",
              "GR",
              "GU",
              "SS",
              "H",
              "HU",
              "J",
              "LO",
              "GC",
              "LE",
              "L",
              "LU",
              "M",
              "MA",
              "ML",
              "MU",
              "NA",
              "OR",
              "P",
              "PO",
              "SA",
              "TF",
              "SG",
              "SE",
              "SO",
              "T",
              "TE",
              "TO",
              "V",
              "VA",
              "BI",
              "ZA",
              "Z",
              "AZ",
              "AJ",
              "DU",
              "FU",
              "RK",
              "SH",
              "UQ",
              "BFP",
              "ENG",
              "NIR",
              "SCT",
              "WLS",
              "AR",
              "CA",
              "CL",
              "CO",
              "DU",
              "FS",
              "FD",
              "LA",
              "MA",
              "MO",
              "PA",
              "RN",
              "RV",
              "RO",
              "SA",
              "SJ",
              "SO",
              "TA",
              "TT"
            ],
            "example": "VA"
          }
        },
        "required": [
          "code"
        ]
      },
      "store_v3_ShippingZoneCountryDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "number",
            "description": "Country code",
            "enum": [
              [
                "US",
                "CA",
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "KH",
                "CM",
                "CV",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "XK",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "AN",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "KR",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            ],
            "example": "US"
          },
          "states": {
            "description": "List of states that are available. If states is empty, then all states are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingZoneCountryStateDto"
            }
          }
        },
        "required": [
          "code"
        ]
      },
      "store_v3_CreateShippingZoneDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "countries": {
            "description": "List of countries that are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingZoneCountryDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "countries"
        ]
      },
      "store_v3_ShippingCarrierServiceDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier service",
            "example": "Priority Mail Express International"
          },
          "value": {
            "type": "string",
            "description": "Value of the shipping carrier service",
            "example": "PriorityMailExpressInternational"
          }
        },
        "required": [
          "name",
          "value"
        ]
      },
      "store_v3_ShippingRateSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "conditionType": {
            "type": "string",
            "description": "Type of condition to provide the conditional pricing",
            "enum": [
              "none",
              "price",
              "weight"
            ],
            "example": "price"
          },
          "minCondition": {
            "type": "number",
            "description": "Minimum condition for applying this price. set 0 or null if there is no minimum",
            "example": 99.99
          },
          "maxCondition": {
            "type": "number",
            "description": "Maximum condition for applying this price. set 0 or null if there is no maximum",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "shippingZoneId": {
            "type": "string",
            "description": "The unique identifier for the shipping zone.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "amount",
          "conditionType",
          "minCondition",
          "maxCondition",
          "shippingCarrierId",
          "_id",
          "shippingZoneId",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_v3_ShippingZoneSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "countries": {
            "description": "List of countries that are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingZoneCountryDto"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "shippingRates": {
            "description": "Array of shipping rates under this shipping zone",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingRateSchema"
            }
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "countries",
          "_id",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_v3_CreateShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingZoneSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_ListShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 20
          },
          "data": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingZoneSchema"
            }
          }
        },
        "required": [
          "total",
          "data"
        ]
      },
      "store_v3_GetShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingZoneSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_UpdateShippingZoneDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "countries": {
            "description": "List of countries that are available",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingZoneCountryDto"
            }
          }
        }
      },
      "store_v3_UpdateShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingZoneSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_DeleteShippingZoneResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "store_v3_ContactAddress": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the customer",
            "example": "John Doe"
          },
          "companyName": {
            "type": "string",
            "description": "Name of the Company",
            "example": "ABC Company"
          },
          "addressLine1": {
            "type": "string",
            "description": "Address line 1 of the customer",
            "example": "123 Main St."
          },
          "country": {
            "type": "string",
            "description": "Country code of the customer",
            "enum": [
              "US",
              "CA",
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "KR",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "example": "US"
          },
          "state": {
            "type": "string",
            "description": "State code of the customer",
            "enum": [
              "AL",
              "AK",
              "AS",
              "AZ",
              "AR",
              "AA",
              "AE",
              "AP",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FM",
              "FL",
              "GA",
              "GU",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MH",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "MP",
              "OH",
              "OK",
              "OR",
              "PW",
              "PA",
              "PR",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "MB",
              "NB",
              "NL",
              "NT",
              "NS",
              "NU",
              "ON",
              "PE",
              "QC",
              "SK",
              "YT",
              "BA",
              "CT",
              "CC",
              "CH",
              "CB",
              "CN",
              "ER",
              "FO",
              "JY",
              "LP",
              "LR",
              "MZ",
              "MN",
              "NQ",
              "RN",
              "SA",
              "SJ",
              "SL",
              "SC",
              "SF",
              "SE",
              "TF",
              "TU",
              "ACT",
              "NSW",
              "NT",
              "QLD",
              "SA",
              "TAS",
              "VIC",
              "WA",
              "AC",
              "AL",
              "AM",
              "AP",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MG",
              "MS",
              "MT",
              "PA",
              "PB",
              "PE",
              "PI",
              "PR",
              "RJ",
              "RN",
              "RO",
              "RR",
              "RS",
              "SC",
              "SE",
              "SP",
              "TO",
              "AI",
              "AN",
              "AP",
              "AT",
              "BI",
              "CO",
              "AR",
              "LI",
              "LL",
              "LR",
              "MA",
              "ML",
              "RM",
              "TA",
              "VS",
              "NB",
              "AMA",
              "ANT",
              "ARA",
              "ATL",
              "BOL",
              "BOY",
              "CAL",
              "CAQ",
              "CAS",
              "CAU",
              "CES",
              "CHO",
              "CUN",
              "COR",
              "GUA",
              "GUV",
              "HUI",
              "LAG",
              "MAG",
              "MET",
              "NAR",
              "NSA",
              "PUT",
              "QUI",
              "RIS",
              "SAP",
              "SAN",
              "SUC",
              "TOL",
              "VAC",
              "VAU",
              "VID",
              "CR-A",
              "CR-C",
              "CR-G",
              "CR-H",
              "CR-L",
              "CR-P",
              "CR-SJ",
              "GT-16",
              "GT-15",
              "GT-04",
              "GT-20",
              "GT-02",
              "GT-05",
              "GT-01",
              "GT-13",
              "GT-18",
              "GT-21",
              "GT-22",
              "GT-17",
              "GT-09",
              "GT-14",
              "GT-11",
              "GT-03",
              "GT-12",
              "GT-06",
              "GT-07",
              "GT-10",
              "GT-08",
              "GT-19",
              "HK",
              "KL",
              "NT",
              "AN",
              "AP",
              "AR",
              "AS",
              "BR",
              "CH",
              "CG",
              "DN",
              "DD",
              "DL",
              "GA",
              "GJ",
              "HR",
              "HP",
              "JK",
              "JH",
              "KA",
              "KL",
              "LA",
              "LD",
              "MP",
              "MH",
              "MN",
              "ML",
              "MZ",
              "NL",
              "OR",
              "PY",
              "PB",
              "RJ",
              "SK",
              "TN",
              "TS",
              "TR",
              "UP",
              "UK",
              "WB",
              "CW",
              "CN",
              "CE",
              "CO",
              "DL",
              "D",
              "G",
              "KY",
              "KE",
              "KK",
              "LS",
              "LM",
              "LK",
              "LD",
              "LH",
              "MO",
              "MH",
              "MN",
              "OY",
              "RN",
              "SO",
              "TA",
              "WD",
              "WH",
              "WX",
              "WW",
              "AG",
              "AL",
              "AN",
              "AO",
              "AR",
              "AP",
              "AT",
              "AV",
              "BA",
              "BT",
              "BL",
              "BN",
              "BG",
              "BI",
              "BO",
              "BZ",
              "BS",
              "BR",
              "CA",
              "CL",
              "CB",
              "CI",
              "CE",
              "CT",
              "CZ",
              "CH",
              "CO",
              "CS",
              "CR",
              "KR",
              "CN",
              "EN",
              "FM",
              "FE",
              "FI",
              "FG",
              "FC",
              "FR",
              "GE",
              "GO",
              "GR",
              "IM",
              "IS",
              "AQ",
              "SP",
              "LT",
              "LE",
              "LC",
              "LI",
              "LO",
              "LU",
              "MC",
              "MN",
              "MS",
              "MT",
              "VS",
              "ME",
              "MI",
              "MO",
              "MB",
              "NA",
              "NO",
              "NU",
              "OG",
              "OT",
              "OR",
              "PD",
              "PA",
              "PR",
              "PV",
              "PG",
              "PU",
              "PE",
              "PC",
              "PI",
              "PT",
              "PN",
              "PZ",
              "PO",
              "RG",
              "RA",
              "RC",
              "RE",
              "RI",
              "RN",
              "RM",
              "RO",
              "SA",
              "SS",
              "SV",
              "SI",
              "SR",
              "SO",
              "TA",
              "TE",
              "TR",
              "TO",
              "TP",
              "TN",
              "TV",
              "TS",
              "UD",
              "VA",
              "VE",
              "VB",
              "VC",
              "VR",
              "VV",
              "VI",
              "VT",
              "JP-23",
              "JP-05",
              "JP-02",
              "JP-12",
              "JP-38",
              "JP-18",
              "JP-40",
              "JP-07",
              "JP-21",
              "JP-10",
              "JP-34",
              "JP-01",
              "JP-28",
              "JP-08",
              "JP-17",
              "JP-03",
              "JP-37",
              "JP-46",
              "JP-14",
              "JP-39",
              "JP-43",
              "JP-26",
              "JP-24",
              "JP-04",
              "JP-45",
              "JP-20",
              "JP-42",
              "JP-29",
              "JP-15",
              "JP-44",
              "JP-33",
              "JP-47",
              "JP-27",
              "JP-41",
              "JP-11",
              "JP-25",
              "JP-32",
              "JP-22",
              "JP-09",
              "JP-36",
              "JP-13",
              "JP-31",
              "JP-16",
              "JP-30",
              "JP-06",
              "JP-35",
              "JP-19",
              "JHR",
              "KDH",
              "KTN",
              "KUL",
              "LBN",
              "MLK",
              "NSN",
              "PHG",
              "PNG",
              "PRK",
              "PLS",
              "PJY",
              "SBH",
              "SWK",
              "SGR",
              "TRG",
              "AGU",
              "BCN",
              "BCS",
              "CAM",
              "CHP",
              "CHH",
              "CMX",
              "COA",
              "COL",
              "DUR",
              "GUA",
              "GRO",
              "HID",
              "JAL",
              "MIC",
              "MOR",
              "MEX",
              "NAY",
              "NLE",
              "OAX",
              "PUE",
              "QUE",
              "ROO",
              "SLP",
              "SIN",
              "SON",
              "TAB",
              "TAM",
              "TLA",
              "VER",
              "YUC",
              "ZAC",
              "AUK",
              "BOP",
              "CAN",
              "CIT",
              "GIS",
              "HKB",
              "MWT",
              "MBH",
              "NSN",
              "NTL",
              "OTA",
              "STL",
              "TKI",
              "TAS",
              "WKO",
              "WGN",
              "WTC",
              "JK",
              "BA",
              "GB",
              "IS",
              "KP",
              "PB",
              "SD",
              "AMA",
              "ANC",
              "APU",
              "ARE",
              "AYA",
              "CAJ",
              "CAL",
              "CUS",
              "HUV",
              "HUC",
              "ICA",
              "JUN",
              "LAL",
              "LAM",
              "LIM",
              "LOR",
              "MDD",
              "MOQ",
              "PAS",
              "PIU",
              "PUN",
              "SAM",
              "TAC",
              "TUM",
              "UCA",
              "PH-ABR",
              "PH-AGN",
              "PH-AGS",
              "PH-AKL",
              "PH-ALB",
              "PH-ANT",
              "PH-APA",
              "PH-AUR",
              "PH-BAS",
              "PH-BAN",
              "PH-BTN",
              "PH-BTG",
              "PH-BEN",
              "PH-BIL",
              "PH-BOH",
              "PH-BUK",
              "PH-BUL",
              "PH-CAG",
              "PH-CAN",
              "PH-CAS",
              "PH-CAM",
              "PH-CAP",
              "PH-CAT",
              "PH-CAV",
              "PH-CEB",
              "PH-NCO",
              "PH-DAO",
              "PH-DAV",
              "PH-DAS",
              "PH-EAS",
              "PH-GUI",
              "PH-IFU",
              "PH-ILN",
              "PH-ILS",
              "PH-ILI",
              "PH-ISA",
              "PH-KAL",
              "PH-LUN",
              "PH-LAG",
              "PH-LAN",
              "PH-LAS",
              "PH-LEY",
              "PH-MAG",
              "PH-MAD",
              "PH-MAS",
              "PH-00",
              "PH-MSC",
              "PH-MSR",
              "PH-MOU",
              "PH-NEC",
              "PH-NER",
              "PH-NSA",
              "PH-NUE",
              "PH-NUV",
              "PH-MDC",
              "PH-MDR",
              "PH-PLW",
              "PH-PAM",
              "PH-PAN",
              "PH-QUE",
              "PH-QUI",
              "PH-RIZ",
              "PH-ROM",
              "PH-WSA",
              "PH-SAR",
              "PH-SIG",
              "PH-SOR",
              "PH-SCO",
              "PH-SLE",
              "PH-SUK",
              "PH-SLU",
              "PH-SUN",
              "PH-SUR",
              "PH-TAR",
              "PH-TAW",
              "PH-ZMB",
              "PH-ZAN",
              "PH-ZAS",
              "PH-ZSI",
              "PT-20",
              "PT-01",
              "PT-02",
              "PT-03",
              "PT-04",
              "PT-05",
              "PT-06",
              "PT-07",
              "PT-08",
              "PT-09",
              "PT-10",
              "PT-11",
              "PT-30",
              "PT-12",
              "PT-13",
              "PT-14",
              "PT-15",
              "PT-16",
              "PT-17",
              "PT-18",
              "AB",
              "AR",
              "AG",
              "BC",
              "BH",
              "BN",
              "BT",
              "BR",
              "BV",
              "B",
              "BZ",
              "CL",
              "CS",
              "CJ",
              "CT",
              "CV",
              "DB",
              "DJ",
              "GL",
              "GR",
              "GJ",
              "HR",
              "HD",
              "IL",
              "IS",
              "IF",
              "MM",
              "MH",
              "MS",
              "NT",
              "OT",
              "PH",
              "SJ",
              "SM",
              "SB",
              "SV",
              "TR",
              "TM",
              "TL",
              "VL",
              "VS",
              "VN",
              "KR-26",
              "KR-43",
              "KR-44",
              "KR-27",
              "KR-30",
              "KR-42",
              "KR-29",
              "KR-47",
              "KR-41",
              "KR-48",
              "KR-28",
              "KR-49",
              "KR-45",
              "KR-46",
              "KR-50",
              "KR-11",
              "KR-31",
              "C",
              "VI",
              "AB",
              "A",
              "AL",
              "O",
              "AV",
              "BA",
              "PM",
              "B",
              "BU",
              "CC",
              "CA",
              "S",
              "CS",
              "CE",
              "CR",
              "CO",
              "CU",
              "GI",
              "GR",
              "GU",
              "SS",
              "H",
              "HU",
              "J",
              "LO",
              "GC",
              "LE",
              "L",
              "LU",
              "M",
              "MA",
              "ML",
              "MU",
              "NA",
              "OR",
              "P",
              "PO",
              "SA",
              "TF",
              "SG",
              "SE",
              "SO",
              "T",
              "TE",
              "TO",
              "V",
              "VA",
              "BI",
              "ZA",
              "Z",
              "AZ",
              "AJ",
              "DU",
              "FU",
              "RK",
              "SH",
              "UQ",
              "BFP",
              "ENG",
              "NIR",
              "SCT",
              "WLS",
              "AR",
              "CA",
              "CL",
              "CO",
              "DU",
              "FS",
              "FD",
              "LA",
              "MA",
              "MO",
              "PA",
              "RN",
              "RV",
              "RO",
              "SA",
              "SJ",
              "SO",
              "TA",
              "TT"
            ],
            "example": "US"
          },
          "city": {
            "type": "string",
            "description": "City of the customer",
            "example": "New York"
          },
          "zip": {
            "type": "string",
            "description": "Zip code of the customer",
            "example": "12345"
          },
          "phone": {
            "type": "string",
            "description": "Phone number of the customer",
            "example": "1234567890"
          },
          "email": {
            "type": "string",
            "description": "Email of the customer",
            "example": "abu@example.com"
          }
        },
        "required": [
          "country"
        ]
      },
      "store_v3_OrderSource": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Source of order",
            "enum": [
              "funnel",
              "website",
              "invoice",
              "calendar",
              "text2Pay",
              "document_contracts",
              "membership",
              "mobile_app",
              "communities",
              "point_of_sale",
              "manual",
              "form",
              "survey",
              "payment_link",
              "external"
            ],
            "example": "website"
          },
          "subType": {
            "type": "string",
            "description": "Source subtype of order",
            "enum": [
              "one_step_order_form",
              "two_step_order_form",
              "upsell",
              "tap_to_pay",
              "card_payment",
              "store",
              "contact_view",
              "email_campaign",
              "payments_dashboard",
              "shopify",
              "subscription_view",
              "store_upsell",
              "woocommerce",
              "service",
              "meeting",
              "imported_csv",
              "qr_code"
            ],
            "example": "store"
          }
        },
        "required": [
          "type"
        ]
      },
      "store_v3_ProductItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "id of product"
          },
          "qty": {
            "type": "number",
            "description": "No of quantities"
          }
        },
        "required": [
          "id",
          "qty"
        ]
      },
      "store_v3_GetAvailableShippingRates": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "country": {
            "type": "string",
            "description": "Country code of the customer",
            "enum": [
              "US",
              "CA",
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "KR",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "example": "US"
          },
          "address": {
            "description": "Address of the customer",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ContactAddress"
              }
            ]
          },
          "amountAvailable": {
            "type": "string",
            "description": "it will not calculate the order amount form backend if it is true",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "KH",
              "CM",
              "CA",
              "CV",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "XK",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "AN",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "GB",
              "UA",
              "AE",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "example": "US"
          },
          "totalOrderAmount": {
            "type": "number",
            "description": "The amount of the price. ( min: 0.01 )",
            "example": 99.99
          },
          "weightAvailable": {
            "type": "boolean",
            "description": "Flag to pass when the weight is already calculated and should not calculate again",
            "example": true
          },
          "totalOrderWeight": {
            "type": "number",
            "description": "Estimated weight of the order calculated from the order creation side in kg(s)",
            "example": 10
          },
          "source": {
            "description": "Source of the order",
            "example": {
              "type": "order",
              "subType": "store"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_OrderSource"
              }
            ]
          },
          "products": {
            "description": "An array of price IDs and quantity",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ProductItem"
            }
          },
          "couponCode": {
            "type": "string",
            "description": "Coupon code",
            "example": "TEST"
          }
        },
        "required": [
          "altId",
          "altType",
          "country",
          "totalOrderAmount",
          "totalOrderWeight",
          "source",
          "products"
        ]
      },
      "store_v3_AvailableShippingRate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "shippingZoneId": {
            "type": "string",
            "description": "The unique identifier for the shipping zone.",
            "example": "655b33a82209e60b6adb87a5"
          }
        },
        "required": [
          "name",
          "currency",
          "amount",
          "shippingCarrierId",
          "_id",
          "shippingZoneId"
        ]
      },
      "store_v3_GetAvailableShippingRatesResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping rate data",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_AvailableShippingRate"
            }
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_CreateShippingRateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "conditionType": {
            "type": "string",
            "description": "Type of condition to provide the conditional pricing",
            "enum": [
              "none",
              "price",
              "weight"
            ],
            "example": "price"
          },
          "minCondition": {
            "type": "number",
            "description": "Minimum condition for applying this price. set 0 or null if there is no minimum",
            "example": 99.99
          },
          "maxCondition": {
            "type": "number",
            "description": "Maximum condition for applying this price. set 0 or null if there is no maximum",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "currency",
          "amount",
          "conditionType",
          "minCondition",
          "maxCondition",
          "shippingCarrierId"
        ]
      },
      "store_v3_CreateShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingRateSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_ListShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 20
          },
          "data": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingRateSchema"
            }
          }
        },
        "required": [
          "total",
          "data"
        ]
      },
      "store_v3_GetShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingRateSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_UpdateShippingRateDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping zone",
            "example": "North zone"
          },
          "description": {
            "type": "string",
            "description": "Delivery description",
            "example": "Ships next day"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the amount of the rate / handling fee",
            "example": "USD"
          },
          "amount": {
            "type": "number",
            "description": "The amount of the shipping rate if it is normal rate (0 means free ). Fixed Handling fee if it is a carrier rate (it will add to the carrier rate).",
            "example": 99.99
          },
          "conditionType": {
            "type": "string",
            "description": "Type of condition to provide the conditional pricing",
            "enum": [
              "none",
              "price",
              "weight"
            ],
            "example": "price"
          },
          "minCondition": {
            "type": "number",
            "description": "Minimum condition for applying this price. set 0 or null if there is no minimum",
            "example": 99.99
          },
          "maxCondition": {
            "type": "number",
            "description": "Maximum condition for applying this price. set 0 or null if there is no maximum",
            "example": 99.99
          },
          "isCarrierRate": {
            "type": "boolean",
            "description": "is this a carrier rate",
            "example": true
          },
          "shippingCarrierId": {
            "type": "string",
            "description": "Shipping carrier id",
            "example": "655b33a82209e60b6adb87a5"
          },
          "percentageOfRateFee": {
            "type": "number",
            "description": "Percentage of rate fee if it is a carrier rate.",
            "example": 10.99
          },
          "shippingCarrierServices": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          }
        }
      },
      "store_v3_UpdateShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping zone data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingRateSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_DeleteShippingRateResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "store_v3_CreateShippingCarrierDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier",
            "example": "FedEx"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The URL endpoint that CRM needs to retrieve shipping rates. This must be a public URL.",
            "example": "https://example.com/get-shipping-rates"
          },
          "services": {
            "description": "An array of available shipping carrier services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          },
          "allowsMultipleServiceSelection": {
            "type": "boolean",
            "description": "The seller can choose multiple services while creating shipping rates if this is true.",
            "example": true
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "callbackUrl"
        ]
      },
      "store_v3_ShippingCarrierSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier",
            "example": "FedEx"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The URL endpoint that CRM needs to retrieve shipping rates. This must be a public URL.",
            "example": "https://example.com/get-shipping-rates"
          },
          "services": {
            "description": "An array of available shipping carrier services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          },
          "allowsMultipleServiceSelection": {
            "type": "boolean",
            "description": "The seller can choose multiple services while creating shipping rates if this is true.",
            "example": true
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the product.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "marketplaceAppId": {
            "type": "string",
            "description": "The unique identifier for the marketplace app.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "name",
          "callbackUrl",
          "_id",
          "marketplaceAppId",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_v3_CreateShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingCarrierSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_ListShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "An array of items",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierSchema"
            }
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_GetShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingCarrierSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_UpdateShippingCarrierDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the shipping carrier",
            "example": "FedEx"
          },
          "callbackUrl": {
            "type": "string",
            "description": "The URL endpoint that CRM needs to retrieve shipping rates. This must be a public URL.",
            "example": "https://example.com/get-shipping-rates"
          },
          "services": {
            "description": "An array of available shipping carrier services",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/store_v3_ShippingCarrierServiceDto"
            }
          },
          "allowsMultipleServiceSelection": {
            "type": "boolean",
            "description": "The seller can choose multiple services while creating shipping rates if this is true.",
            "example": true
          }
        }
      },
      "store_v3_UpdateShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_ShippingCarrierSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_DeleteShippingCarrierResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          }
        },
        "required": [
          "status"
        ]
      },
      "store_v3_StoreShippingOriginDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the store / company",
            "example": "ABC Store"
          },
          "country": {
            "type": "number",
            "description": "Country code",
            "enum": [
              [
                "US",
                "CA",
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "KH",
                "CM",
                "CV",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "XK",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "AN",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "KR",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            ],
            "example": "US"
          },
          "state": {
            "type": "string",
            "description": "State code",
            "enum": [
              "AL",
              "AK",
              "AS",
              "AZ",
              "AR",
              "AA",
              "AE",
              "AP",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FM",
              "FL",
              "GA",
              "GU",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MH",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "MP",
              "OH",
              "OK",
              "OR",
              "PW",
              "PA",
              "PR",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "MB",
              "NB",
              "NL",
              "NT",
              "NS",
              "NU",
              "ON",
              "PE",
              "QC",
              "SK",
              "YT",
              "BA",
              "CT",
              "CC",
              "CH",
              "CB",
              "CN",
              "ER",
              "FO",
              "JY",
              "LP",
              "LR",
              "MZ",
              "MN",
              "NQ",
              "RN",
              "SA",
              "SJ",
              "SL",
              "SC",
              "SF",
              "SE",
              "TF",
              "TU",
              "ACT",
              "NSW",
              "NT",
              "QLD",
              "SA",
              "TAS",
              "VIC",
              "WA",
              "AC",
              "AL",
              "AM",
              "AP",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MG",
              "MS",
              "MT",
              "PA",
              "PB",
              "PE",
              "PI",
              "PR",
              "RJ",
              "RN",
              "RO",
              "RR",
              "RS",
              "SC",
              "SE",
              "SP",
              "TO",
              "AI",
              "AN",
              "AP",
              "AT",
              "BI",
              "CO",
              "AR",
              "LI",
              "LL",
              "LR",
              "MA",
              "ML",
              "RM",
              "TA",
              "VS",
              "NB",
              "AMA",
              "ANT",
              "ARA",
              "ATL",
              "BOL",
              "BOY",
              "CAL",
              "CAQ",
              "CAS",
              "CAU",
              "CES",
              "CHO",
              "CUN",
              "COR",
              "GUA",
              "GUV",
              "HUI",
              "LAG",
              "MAG",
              "MET",
              "NAR",
              "NSA",
              "PUT",
              "QUI",
              "RIS",
              "SAP",
              "SAN",
              "SUC",
              "TOL",
              "VAC",
              "VAU",
              "VID",
              "CR-A",
              "CR-C",
              "CR-G",
              "CR-H",
              "CR-L",
              "CR-P",
              "CR-SJ",
              "GT-16",
              "GT-15",
              "GT-04",
              "GT-20",
              "GT-02",
              "GT-05",
              "GT-01",
              "GT-13",
              "GT-18",
              "GT-21",
              "GT-22",
              "GT-17",
              "GT-09",
              "GT-14",
              "GT-11",
              "GT-03",
              "GT-12",
              "GT-06",
              "GT-07",
              "GT-10",
              "GT-08",
              "GT-19",
              "HK",
              "KL",
              "NT",
              "AN",
              "AP",
              "AR",
              "AS",
              "BR",
              "CH",
              "CG",
              "DN",
              "DD",
              "DL",
              "GA",
              "GJ",
              "HR",
              "HP",
              "JK",
              "JH",
              "KA",
              "KL",
              "LA",
              "LD",
              "MP",
              "MH",
              "MN",
              "ML",
              "MZ",
              "NL",
              "OR",
              "PY",
              "PB",
              "RJ",
              "SK",
              "TN",
              "TS",
              "TR",
              "UP",
              "UK",
              "WB",
              "CW",
              "CN",
              "CE",
              "CO",
              "DL",
              "D",
              "G",
              "KY",
              "KE",
              "KK",
              "LS",
              "LM",
              "LK",
              "LD",
              "LH",
              "MO",
              "MH",
              "MN",
              "OY",
              "RN",
              "SO",
              "TA",
              "WD",
              "WH",
              "WX",
              "WW",
              "AG",
              "AL",
              "AN",
              "AO",
              "AR",
              "AP",
              "AT",
              "AV",
              "BA",
              "BT",
              "BL",
              "BN",
              "BG",
              "BI",
              "BO",
              "BZ",
              "BS",
              "BR",
              "CA",
              "CL",
              "CB",
              "CI",
              "CE",
              "CT",
              "CZ",
              "CH",
              "CO",
              "CS",
              "CR",
              "KR",
              "CN",
              "EN",
              "FM",
              "FE",
              "FI",
              "FG",
              "FC",
              "FR",
              "GE",
              "GO",
              "GR",
              "IM",
              "IS",
              "AQ",
              "SP",
              "LT",
              "LE",
              "LC",
              "LI",
              "LO",
              "LU",
              "MC",
              "MN",
              "MS",
              "MT",
              "VS",
              "ME",
              "MI",
              "MO",
              "MB",
              "NA",
              "NO",
              "NU",
              "OG",
              "OT",
              "OR",
              "PD",
              "PA",
              "PR",
              "PV",
              "PG",
              "PU",
              "PE",
              "PC",
              "PI",
              "PT",
              "PN",
              "PZ",
              "PO",
              "RG",
              "RA",
              "RC",
              "RE",
              "RI",
              "RN",
              "RM",
              "RO",
              "SA",
              "SS",
              "SV",
              "SI",
              "SR",
              "SO",
              "TA",
              "TE",
              "TR",
              "TO",
              "TP",
              "TN",
              "TV",
              "TS",
              "UD",
              "VA",
              "VE",
              "VB",
              "VC",
              "VR",
              "VV",
              "VI",
              "VT",
              "JP-23",
              "JP-05",
              "JP-02",
              "JP-12",
              "JP-38",
              "JP-18",
              "JP-40",
              "JP-07",
              "JP-21",
              "JP-10",
              "JP-34",
              "JP-01",
              "JP-28",
              "JP-08",
              "JP-17",
              "JP-03",
              "JP-37",
              "JP-46",
              "JP-14",
              "JP-39",
              "JP-43",
              "JP-26",
              "JP-24",
              "JP-04",
              "JP-45",
              "JP-20",
              "JP-42",
              "JP-29",
              "JP-15",
              "JP-44",
              "JP-33",
              "JP-47",
              "JP-27",
              "JP-41",
              "JP-11",
              "JP-25",
              "JP-32",
              "JP-22",
              "JP-09",
              "JP-36",
              "JP-13",
              "JP-31",
              "JP-16",
              "JP-30",
              "JP-06",
              "JP-35",
              "JP-19",
              "JHR",
              "KDH",
              "KTN",
              "KUL",
              "LBN",
              "MLK",
              "NSN",
              "PHG",
              "PNG",
              "PRK",
              "PLS",
              "PJY",
              "SBH",
              "SWK",
              "SGR",
              "TRG",
              "AGU",
              "BCN",
              "BCS",
              "CAM",
              "CHP",
              "CHH",
              "CMX",
              "COA",
              "COL",
              "DUR",
              "GUA",
              "GRO",
              "HID",
              "JAL",
              "MIC",
              "MOR",
              "MEX",
              "NAY",
              "NLE",
              "OAX",
              "PUE",
              "QUE",
              "ROO",
              "SLP",
              "SIN",
              "SON",
              "TAB",
              "TAM",
              "TLA",
              "VER",
              "YUC",
              "ZAC",
              "AUK",
              "BOP",
              "CAN",
              "CIT",
              "GIS",
              "HKB",
              "MWT",
              "MBH",
              "NSN",
              "NTL",
              "OTA",
              "STL",
              "TKI",
              "TAS",
              "WKO",
              "WGN",
              "WTC",
              "JK",
              "BA",
              "GB",
              "IS",
              "KP",
              "PB",
              "SD",
              "AMA",
              "ANC",
              "APU",
              "ARE",
              "AYA",
              "CAJ",
              "CAL",
              "CUS",
              "HUV",
              "HUC",
              "ICA",
              "JUN",
              "LAL",
              "LAM",
              "LIM",
              "LOR",
              "MDD",
              "MOQ",
              "PAS",
              "PIU",
              "PUN",
              "SAM",
              "TAC",
              "TUM",
              "UCA",
              "PH-ABR",
              "PH-AGN",
              "PH-AGS",
              "PH-AKL",
              "PH-ALB",
              "PH-ANT",
              "PH-APA",
              "PH-AUR",
              "PH-BAS",
              "PH-BAN",
              "PH-BTN",
              "PH-BTG",
              "PH-BEN",
              "PH-BIL",
              "PH-BOH",
              "PH-BUK",
              "PH-BUL",
              "PH-CAG",
              "PH-CAN",
              "PH-CAS",
              "PH-CAM",
              "PH-CAP",
              "PH-CAT",
              "PH-CAV",
              "PH-CEB",
              "PH-NCO",
              "PH-DAO",
              "PH-DAV",
              "PH-DAS",
              "PH-EAS",
              "PH-GUI",
              "PH-IFU",
              "PH-ILN",
              "PH-ILS",
              "PH-ILI",
              "PH-ISA",
              "PH-KAL",
              "PH-LUN",
              "PH-LAG",
              "PH-LAN",
              "PH-LAS",
              "PH-LEY",
              "PH-MAG",
              "PH-MAD",
              "PH-MAS",
              "PH-00",
              "PH-MSC",
              "PH-MSR",
              "PH-MOU",
              "PH-NEC",
              "PH-NER",
              "PH-NSA",
              "PH-NUE",
              "PH-NUV",
              "PH-MDC",
              "PH-MDR",
              "PH-PLW",
              "PH-PAM",
              "PH-PAN",
              "PH-QUE",
              "PH-QUI",
              "PH-RIZ",
              "PH-ROM",
              "PH-WSA",
              "PH-SAR",
              "PH-SIG",
              "PH-SOR",
              "PH-SCO",
              "PH-SLE",
              "PH-SUK",
              "PH-SLU",
              "PH-SUN",
              "PH-SUR",
              "PH-TAR",
              "PH-TAW",
              "PH-ZMB",
              "PH-ZAN",
              "PH-ZAS",
              "PH-ZSI",
              "PT-20",
              "PT-01",
              "PT-02",
              "PT-03",
              "PT-04",
              "PT-05",
              "PT-06",
              "PT-07",
              "PT-08",
              "PT-09",
              "PT-10",
              "PT-11",
              "PT-30",
              "PT-12",
              "PT-13",
              "PT-14",
              "PT-15",
              "PT-16",
              "PT-17",
              "PT-18",
              "AB",
              "AR",
              "AG",
              "BC",
              "BH",
              "BN",
              "BT",
              "BR",
              "BV",
              "B",
              "BZ",
              "CL",
              "CS",
              "CJ",
              "CT",
              "CV",
              "DB",
              "DJ",
              "GL",
              "GR",
              "GJ",
              "HR",
              "HD",
              "IL",
              "IS",
              "IF",
              "MM",
              "MH",
              "MS",
              "NT",
              "OT",
              "PH",
              "SJ",
              "SM",
              "SB",
              "SV",
              "TR",
              "TM",
              "TL",
              "VL",
              "VS",
              "VN",
              "KR-26",
              "KR-43",
              "KR-44",
              "KR-27",
              "KR-30",
              "KR-42",
              "KR-29",
              "KR-47",
              "KR-41",
              "KR-48",
              "KR-28",
              "KR-49",
              "KR-45",
              "KR-46",
              "KR-50",
              "KR-11",
              "KR-31",
              "C",
              "VI",
              "AB",
              "A",
              "AL",
              "O",
              "AV",
              "BA",
              "PM",
              "B",
              "BU",
              "CC",
              "CA",
              "S",
              "CS",
              "CE",
              "CR",
              "CO",
              "CU",
              "GI",
              "GR",
              "GU",
              "SS",
              "H",
              "HU",
              "J",
              "LO",
              "GC",
              "LE",
              "L",
              "LU",
              "M",
              "MA",
              "ML",
              "MU",
              "NA",
              "OR",
              "P",
              "PO",
              "SA",
              "TF",
              "SG",
              "SE",
              "SO",
              "T",
              "TE",
              "TO",
              "V",
              "VA",
              "BI",
              "ZA",
              "Z",
              "AZ",
              "AJ",
              "DU",
              "FU",
              "RK",
              "SH",
              "UQ",
              "BFP",
              "ENG",
              "NIR",
              "SCT",
              "WLS",
              "AR",
              "CA",
              "CL",
              "CO",
              "DU",
              "FS",
              "FD",
              "LA",
              "MA",
              "MO",
              "PA",
              "RN",
              "RV",
              "RO",
              "SA",
              "SJ",
              "SO",
              "TA",
              "TT"
            ],
            "example": "VA"
          },
          "city": {
            "type": "string",
            "description": "City name",
            "example": "Tokyo"
          },
          "street1": {
            "type": "string",
            "description": "Street address line 1",
            "example": "Street 1"
          },
          "street2": {
            "type": "string",
            "description": "Street address line 2",
            "example": "Street 2"
          },
          "zip": {
            "type": "string",
            "description": "Zip code",
            "example": "674561"
          },
          "phone": {
            "type": "string",
            "description": "Business Phone Number",
            "example": "+1-214-559-6993"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john@deo.com"
          }
        },
        "required": [
          "name",
          "country",
          "city",
          "street1",
          "zip"
        ]
      },
      "store_v3_StoreOrderNotificationDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Store order notification enabled",
            "example": true
          },
          "subject": {
            "type": "string",
            "description": "Store order email subject",
            "example": "Your order is placed !"
          },
          "emailTemplateId": {
            "type": "string",
            "description": "Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          },
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "Default Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          }
        },
        "required": [
          "enabled",
          "subject",
          "emailTemplateId",
          "defaultEmailTemplateId"
        ]
      },
      "store_v3_StoreOrderFulfillmentNotificationDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Store order fulfillment notification enabled",
            "example": true
          },
          "subject": {
            "type": "string",
            "description": "Store order fulfillment email subject",
            "example": "Order fulfilled"
          },
          "emailTemplateId": {
            "type": "string",
            "description": "Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          },
          "defaultEmailTemplateId": {
            "type": "string",
            "description": "Default Email Template Id",
            "example": "6788d542f0462ffd6bc29bb9"
          }
        },
        "required": [
          "enabled",
          "subject",
          "emailTemplateId",
          "defaultEmailTemplateId"
        ]
      },
      "store_v3_CreateStoreSettingDto": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "shippingOrigin": {
            "description": "Shipping origin address",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreShippingOriginDto"
              }
            ]
          },
          "storeOrderNotification": {
            "description": "Store order notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreOrderNotificationDto"
              }
            ]
          },
          "storeOrderFulfillmentNotification": {
            "description": "Store order fulfillment notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreOrderFulfillmentNotificationDto"
              }
            ]
          }
        },
        "required": [
          "altId",
          "altType",
          "shippingOrigin"
        ]
      },
      "store_v3_StoreSettingSchema": {
        "type": "object",
        "properties": {
          "altId": {
            "type": "string",
            "description": "Location Id or Agency Id",
            "example": "6578278e879ad2646715ba9c"
          },
          "altType": {
            "type": "string",
            "enum": [
              "location"
            ]
          },
          "shippingOrigin": {
            "description": "Shipping origin address",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreShippingOriginDto"
              }
            ]
          },
          "storeOrderNotification": {
            "description": "Store order notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreOrderNotificationDto"
              }
            ]
          },
          "storeOrderFulfillmentNotification": {
            "description": "Store order fulfillment notification email",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreOrderFulfillmentNotificationDto"
              }
            ]
          },
          "_id": {
            "type": "string",
            "description": "The unique identifier for the settings.",
            "example": "655b33a82209e60b6adb87a5"
          },
          "createdAt": {
            "type": "string",
            "description": "created at",
            "example": "2023-12-12T09:27:42.355Z"
          },
          "updatedAt": {
            "type": "string",
            "description": "updated at",
            "example": "2023-12-12T09:27:42.355Z"
          }
        },
        "required": [
          "altId",
          "altType",
          "shippingOrigin",
          "_id",
          "createdAt",
          "updatedAt"
        ]
      },
      "store_v3_CreateStoreSettingResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreSettingSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "store_v3_GetStoreSettingResponseDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Status of api action",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Success message",
            "example": "Successfully created"
          },
          "data": {
            "description": "Shipping carrier data",
            "allOf": [
              {
                "$ref": "#/components/schemas/store_v3_StoreSettingSchema"
              }
            ]
          }
        },
        "required": [
          "status",
          "data"
        ]
      },
      "surveys_v3_GetSurveysSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "I5GFa3d3cKjojpe4VVUx"
          },
          "name": {
            "type": "string",
            "example": "Survey 1"
          },
          "locationId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT"
          }
        }
      },
      "surveys_v3_GetSurveysSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "surveys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/surveys_v3_GetSurveysSchema"
            }
          },
          "total": {
            "type": "number",
            "example": 20,
            "description": "Number of surveys"
          }
        }
      },
      "surveys_v3_PageDetailsSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://example.com"
          },
          "title": {
            "type": "string",
            "example": "Example Page"
          }
        }
      },
      "surveys_v3_ContactSessionIds": {
        "type": "object",
        "properties": {
          "ids": {
            "example": [
              "session1",
              "session2"
            ],
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "surveys_v3_EventDataSchema": {
        "type": "object",
        "properties": {
          "fbc": {
            "type": "string",
            "example": "fb.1.123456789.987654321"
          },
          "fbp": {
            "type": "string",
            "example": "fbp.1.987654321.123456789"
          },
          "page": {
            "$ref": "#/components/schemas/surveys_v3_PageDetailsSchema"
          },
          "type": {
            "type": "string",
            "example": "page-visit"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "medium": {
            "type": "string",
            "example": "survey"
          },
          "source": {
            "type": "string",
            "example": "Direct traffic"
          },
          "version": {
            "type": "string",
            "example": "v3"
          },
          "adSource": {
            "type": "string",
            "example": "example-ad-source"
          },
          "mediumId": {
            "type": "string",
            "example": "medium-id-123"
          },
          "parentId": {
            "type": "string",
            "example": "parent-id-456"
          },
          "referrer": {
            "type": "string",
            "example": "https://staging.crm.gesvision.com"
          },
          "fbEventId": {
            "type": "string",
            "example": "event-id-789"
          },
          "timestamp": {
            "type": "number",
            "example": 1234567890
          },
          "parentName": {
            "type": "string",
            "example": "Parent Survey"
          },
          "fingerprint": {
            "type": "string",
            "example": "example-fingerprint"
          },
          "pageVisitType": {
            "type": "string",
            "example": "survey"
          },
          "contactSessionIds": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/surveys_v3_ContactSessionIds"
              }
            ]
          }
        }
      },
      "surveys_v3_othersSchema": {
        "type": "object",
        "properties": {
          "__submissions_other_field__": {
            "type": "string",
            "example": "john@deo.com"
          },
          "__custom_field_id__": {
            "type": "string",
            "example": "20"
          },
          "eventData": {
            "$ref": "#/components/schemas/surveys_v3_EventDataSchema"
          },
          "fieldsOriSequance": {
            "example": [
              "full_name",
              "first_name",
              "last_name",
              "phone",
              "email"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "surveys_v3_SubmissionSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "be759b9a-c3ec-4b29-ba07-fc3c89c77673"
          },
          "contactId": {
            "type": "string",
            "example": "9NkT25Vor1v4aQatFsv2"
          },
          "createdAt": {
            "type": "string",
            "example": "2020-11-01T18:02:21.000Z"
          },
          "surveyId": {
            "type": "string",
            "example": "jjusM6EOngDExnbo2DbU"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "email": {
            "type": "string",
            "example": "test@test.com"
          },
          "others": {
            "$ref": "#/components/schemas/surveys_v3_othersSchema"
          }
        }
      },
      "surveys_v3_metaSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "example": 1
          },
          "currentPage": {
            "type": "number",
            "example": 1
          },
          "nextPage": {
            "type": "number",
            "example": null,
            "nullable": true
          },
          "prevPage": {
            "type": "number",
            "example": null,
            "nullable": true
          }
        }
      },
      "surveys_v3_GetSurveysSubmissionSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/surveys_v3_SubmissionSchema"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/surveys_v3_metaSchema"
          }
        }
      },
      "users_v3_PermissionsDto": {
        "type": "object",
        "properties": {
          "campaignsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether campaigns are enabled for this user"
          },
          "campaignsReadOnly": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether campaigns are in read-only mode for this user"
          },
          "contactsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether contacts are enabled for this user"
          },
          "workflowsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether workflows are enabled for this user"
          },
          "workflowsReadOnly": {
            "type": "boolean",
            "example": true,
            "default": false,
            "description": "Whether workflows are in read-only mode for this user"
          },
          "triggersEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether triggers are enabled for this user"
          },
          "funnelsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether funnels are enabled for this user"
          },
          "websitesEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether websites are enabled for this user"
          },
          "opportunitiesEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether opportunities are enabled for this user"
          },
          "dashboardStatsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether dashboard statistics are enabled for this user"
          },
          "bulkRequestsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether bulk requests are enabled for this user"
          },
          "appointmentsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether appointments are enabled for this user"
          },
          "reviewsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether reviews are enabled for this user"
          },
          "onlineListingsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether online listings are enabled for this user"
          },
          "phoneCallEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether phone calls are enabled for this user"
          },
          "conversationsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether conversations are enabled for this user"
          },
          "assignedDataOnly": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether the user can only access data assigned to them"
          },
          "adwordsReportingEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether AdWords reporting is enabled for this user"
          },
          "membershipEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether membership features are enabled for this user"
          },
          "facebookAdsReportingEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether Facebook Ads reporting is enabled for this user"
          },
          "attributionsReportingEnabled": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether attributions reporting is enabled for this user"
          },
          "settingsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether settings are enabled for this user"
          },
          "tagsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether tags are enabled for this user"
          },
          "leadValueEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether lead value features are enabled for this user"
          },
          "marketingEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether marketing features are enabled for this user"
          },
          "agentReportingEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether agent reporting is enabled for this user"
          },
          "botService": {
            "type": "boolean",
            "example": false,
            "default": false,
            "description": "Whether the bot service is enabled for this user"
          },
          "socialPlanner": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether the social planner is enabled for this user"
          },
          "bloggingEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether blogging is enabled for this user"
          },
          "invoiceEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether invoices are enabled for this user"
          },
          "affiliateManagerEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether the affiliate manager is enabled for this user"
          },
          "contentAiEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether Content AI is enabled for this user"
          },
          "refundsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether refunds are enabled for this user"
          },
          "recordPaymentEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether recording payments is enabled for this user"
          },
          "cancelSubscriptionEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether cancelling subscriptions is enabled for this user"
          },
          "paymentsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether payments are enabled for this user"
          },
          "communitiesEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether communities are enabled for this user"
          },
          "exportPaymentsEnabled": {
            "type": "boolean",
            "example": true,
            "default": true,
            "description": "Whether exporting payments is enabled for this user"
          }
        }
      },
      "users_v3_RoleSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "account",
            "description": "User account type (account for sub-account users, agency for agency-level users)"
          },
          "role": {
            "type": "string",
            "example": "admin",
            "description": "User role within the account (admin or user)"
          },
          "locationIds": {
            "example": [
              "ve9EPM428h8vShlRW1KT"
            ],
            "description": "List of location IDs the user has access to",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "restrictSubAccount": {
            "type": "boolean",
            "example": true,
            "description": "Whether the user is restricted to specific sub-accounts only"
          }
        }
      },
      "users_v3_UserSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0IHuJvc2ofPAAA8GzTRi",
            "description": "Unique identifier of the user"
          },
          "name": {
            "type": "string",
            "example": "John Deo",
            "description": "Full name of the user"
          },
          "firstName": {
            "type": "string",
            "example": "John",
            "description": "First name of the user"
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "description": "Last name of the user"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com",
            "description": "Email address of the user"
          },
          "phone": {
            "type": "string",
            "example": "+1 808-868-8888",
            "description": "Phone number of the user"
          },
          "extension": {
            "type": "string",
            "example": "",
            "description": "Phone extension of the user"
          },
          "permissions": {
            "description": "User permissions controlling access to various features",
            "example": {
              "campaignsEnabled": true,
              "campaignsReadOnly": false,
              "contactsEnabled": true,
              "workflowsEnabled": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/users_v3_PermissionsDto"
              }
            ]
          },
          "scopes": {
            "type": "string",
            "description": "List of OAuth scopes granted to this user",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "enum": [
              "campaigns.readonly",
              "campaigns.write",
              "calendars.readonly",
              "calendars/events.write",
              "calendars/groups.write",
              "calendars.write",
              "contacts.write",
              "contacts/bulkActions.write",
              "workflows.readonly",
              "workflows.write",
              "triggers.write",
              "funnels.write",
              "forms.write",
              "surveys.write",
              "quizzes.write",
              "websites.write",
              "medias.write",
              "medias.readonly",
              "opportunities.write",
              "opportunities/leadValue.readonly",
              "opportunities/bulkActions.write",
              "pipelines.create",
              "reporting/phone.readonly",
              "reporting/adwords.readonly",
              "reporting/facebookAds.readonly",
              "reporting/attributions.readonly",
              "prospecting/auditReport.write",
              "reporting/reports.readonly",
              "reporting/agent.readonly",
              "reporting/reports.write",
              "reporting/stats.export",
              "payments.write",
              "payments/records.write",
              "payments/orders.readonly",
              "payments/orders.export",
              "payments/orders.import",
              "payments/orders.collectPayment",
              "payments/subscriptions.readonly",
              "payments/subscriptions.write",
              "payments/subscriptions.update",
              "payments/subscriptions.export",
              "payments/subscriptions.pauseResumeCancel",
              "payments/subscriptions.sharePaymentMethod",
              "payments/transactions.readonly",
              "payments/transactions.export",
              "payments/transactions.import",
              "payments/transactions.refund",
              "payments/transactions.viewReceipts",
              "payments/taxesSettings.readonly",
              "payments/settings.readonly",
              "payments/taxesSettings.updateInclusiveExclusive",
              "payments/taxesSettings.manageRates",
              "payments/taxesSettings.configureAutomatic",
              "products.readonly",
              "products.write",
              "products.delete",
              "products.duplicate",
              "products.bulkActions",
              "payments/settings.write",
              "payments/settings.configureReceipt",
              "payments/settings.configureSubscription",
              "invoices.write",
              "invoices.readonly",
              "invoices/schedule.readonly",
              "invoices/schedule.write",
              "invoices/template.readonly",
              "invoices/template.write",
              "reputation/review.write",
              "reputation/listing.write",
              "reputation/reviewsAIAgents.write",
              "reputation/gbp.write",
              "conversations.write",
              "conversations.readonly",
              "conversations/message.readonly",
              "conversations/message.write",
              "contentAI.write",
              "ai-studio.readonly",
              "ai-studio.write",
              "dashboard/stats.readonly",
              "locations/tags.write",
              "locations/tags.readonly",
              "marketing.write",
              "eliza.write",
              "settings.write",
              "socialplanner/post.write",
              "socialplanner/account.readonly",
              "socialplanner/account.write",
              "socialplanner/category.readonly",
              "socialplanner/category.write",
              "socialplanner/csv.readonly",
              "socialplanner/csv.write",
              "socialplanner/group.write",
              "socialplanner/hashtag.readonly",
              "socialplanner/hashtag.write",
              "socialplanner/oauth.readonly",
              "socialplanner/oauth.write",
              "socialplanner/post.readonly",
              "socialplanner/recurring.readonly",
              "socialplanner/recurring.write",
              "socialplanner/review.readonly",
              "socialplanner/review.write",
              "socialplanner/rss.readonly",
              "socialplanner/rss.write",
              "socialplanner/search.readonly",
              "socialplanner/setting.readonly",
              "socialplanner/setting.write",
              "socialplanner/stat.readonly",
              "socialplanner/tag.readonly",
              "socialplanner/tag.write",
              "socialplanner/filters.readonly",
              "socialplanner/medias.readonly",
              "socialplanner/medias.write",
              "socialplanner/watermarks.readonly",
              "socialplanner/watermarks.write",
              "socialplanner/metatag.readonly",
              "socialplanner/facebook.readonly",
              "socialplanner/linkedin.readonly",
              "socialplanner/twitter.readonly",
              "socialplanner/notification.readonly",
              "socialplanner/notification.write",
              "socialplanner/snapshot.readonly",
              "socialplanner/snapshot.write",
              "marketing/affiliate.write",
              "blogs.write",
              "membership.write",
              "communities.write",
              "gokollab.write",
              "certificates.write",
              "certificates.readonly",
              "adPublishing.write",
              "adPublishing.readonly",
              "prospecting.write",
              "prospecting.readonly",
              "prospecting/reports.readonly",
              "private-integration-location.readonly",
              "private-integration-location.write",
              "private-integration-company.readonly",
              "private-integration-company.write",
              "native-integrations.readonly",
              "native-integrations.write",
              "wordpress.write",
              "wordpress.read",
              "custom-menu-link.write",
              "qrcodes.write",
              "users/team-management.write",
              "users/team-management.readonly",
              "loginas.write",
              "users-sso-login-management.write",
              "users-sso-login-management.readonly",
              "sso-config.write",
              "snapshots/api.readonly",
              "snapshots/api.create",
              "snapshots/api.edit",
              "snapshots/api.push",
              "snapshots/api.refresh",
              "snapshots/api.share",
              "snapshots/api.delete",
              "internaltools.location-transfer.write",
              "internaltools.location-transfer.readonly",
              "affiliateportal.write",
              "affiliateportal.readonly",
              "companies.write",
              "internaltools.billing.write",
              "internaltools.billing.readonly",
              "internaltools.billing-common.readonly",
              "internaltools.billing-common.write",
              "voice-ai-agents.write",
              "voice-ai-agents.readonly",
              "voice-ai-common.readonly",
              "voice-ai-common.write",
              "voice-ai-agent-goals.readonly",
              "voice-ai-agent-goals.write",
              "voice-ai-dashboard.readonly",
              "agency/launchpad.write",
              "agency/launchpad.readonly",
              "launchpad/location.write",
              "launchpad/location.readonly",
              "text-ai-agents.write",
              "text-ai-agent-goals.readonly",
              "text-ai-agent-goals.write",
              "text-ai-agent-training.write",
              "text-ai-agents-dashboard.readonly",
              "locations.create",
              "locations.delete",
              "askai.write",
              "copilot.readonly",
              "locations.export.list",
              "locations.features-limits.manage",
              "locations.pause-resume",
              "locations.agency-subaccounts.manage",
              "locations.billing.manage",
              "locations.details.manage",
              "audit-logs.readonly",
              "audit-logs.export"
            ]
          },
          "roles": {
            "description": "Role and access configuration for the user",
            "example": {
              "type": "account",
              "role": "admin",
              "locationIds": [
                "ve9EPM428h8vShlRW1KT"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/users_v3_RoleSchema"
              }
            ]
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Whether the user has been deleted"
          },
          "lcPhone": {
            "type": "object",
            "example": {
              "locationId": "+1234556677"
            },
            "description": "CRM Phone Inbound Phone Numbers"
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        }
      },
      "users_v3_SearchUserSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "users": {
            "description": "List of users matching the search criteria",
            "example": [
              {
                "id": "0IHuJvc2ofPAAA8GzTRi",
                "firstName": "John",
                "lastName": "Deo",
                "email": "john@deo.com"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/users_v3_UserSchema"
            }
          },
          "count": {
            "type": "number",
            "example": 1231,
            "description": "Total number of users matching the search criteria"
          }
        }
      },
      "users_v3_FilterByEmailDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "example": "5DP41231LkQsiKESj6rh",
            "description": "Company ID to filter users"
          },
          "emails": {
            "type": "string",
            "example": "user1@example.com,user2@example.com",
            "description": "Comma-separated list of email addresses to filter users"
          },
          "deleted": {
            "type": "boolean",
            "example": false,
            "description": "Filter deleted users",
            "default": false
          },
          "skip": {
            "type": "string",
            "example": "1",
            "default": "0",
            "description": "No of results to be skipped before returning the result"
          },
          "limit": {
            "type": "string",
            "example": "10",
            "default": "25",
            "description": "No of results to be limited before returning the result"
          },
          "projection": {
            "type": "string",
            "example": "all",
            "description": "Projection fields to return. Use \"all\" for all fields, or specify comma-separated field names. Default returns only id and email"
          }
        },
        "required": [
          "companyId",
          "emails"
        ]
      },
      "users_v3_UserSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "0IHuJvc2ofPAAA8GzTRi",
            "description": "Unique identifier of the user"
          },
          "name": {
            "type": "string",
            "example": "John Deo",
            "description": "Full name of the user"
          },
          "firstName": {
            "type": "string",
            "example": "John",
            "description": "First name of the user"
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "description": "Last name of the user"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com",
            "description": "Email address of the user"
          },
          "phone": {
            "type": "string",
            "example": "+1 808-868-8888",
            "description": "Phone number of the user"
          },
          "extension": {
            "type": "string",
            "example": "",
            "description": "Phone extension of the user"
          },
          "permissions": {
            "description": "User permissions controlling access to various features",
            "example": {
              "campaignsEnabled": true,
              "campaignsReadOnly": false,
              "contactsEnabled": true,
              "workflowsEnabled": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/users_v3_PermissionsDto"
              }
            ]
          },
          "scopes": {
            "type": "string",
            "description": "List of OAuth scopes granted to this user",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "enum": [
              "campaigns.readonly",
              "campaigns.write",
              "calendars.readonly",
              "calendars/events.write",
              "calendars/groups.write",
              "calendars.write",
              "contacts.write",
              "contacts/bulkActions.write",
              "workflows.readonly",
              "workflows.write",
              "triggers.write",
              "funnels.write",
              "forms.write",
              "surveys.write",
              "quizzes.write",
              "websites.write",
              "medias.write",
              "medias.readonly",
              "opportunities.write",
              "opportunities/leadValue.readonly",
              "opportunities/bulkActions.write",
              "pipelines.create",
              "reporting/phone.readonly",
              "reporting/adwords.readonly",
              "reporting/facebookAds.readonly",
              "reporting/attributions.readonly",
              "prospecting/auditReport.write",
              "reporting/reports.readonly",
              "reporting/agent.readonly",
              "reporting/reports.write",
              "reporting/stats.export",
              "payments.write",
              "payments/records.write",
              "payments/orders.readonly",
              "payments/orders.export",
              "payments/orders.import",
              "payments/orders.collectPayment",
              "payments/subscriptions.readonly",
              "payments/subscriptions.write",
              "payments/subscriptions.update",
              "payments/subscriptions.export",
              "payments/subscriptions.pauseResumeCancel",
              "payments/subscriptions.sharePaymentMethod",
              "payments/transactions.readonly",
              "payments/transactions.export",
              "payments/transactions.import",
              "payments/transactions.refund",
              "payments/transactions.viewReceipts",
              "payments/taxesSettings.readonly",
              "payments/settings.readonly",
              "payments/taxesSettings.updateInclusiveExclusive",
              "payments/taxesSettings.manageRates",
              "payments/taxesSettings.configureAutomatic",
              "products.readonly",
              "products.write",
              "products.delete",
              "products.duplicate",
              "products.bulkActions",
              "payments/settings.write",
              "payments/settings.configureReceipt",
              "payments/settings.configureSubscription",
              "invoices.write",
              "invoices.readonly",
              "invoices/schedule.readonly",
              "invoices/schedule.write",
              "invoices/template.readonly",
              "invoices/template.write",
              "reputation/review.write",
              "reputation/listing.write",
              "reputation/reviewsAIAgents.write",
              "reputation/gbp.write",
              "conversations.write",
              "conversations.readonly",
              "conversations/message.readonly",
              "conversations/message.write",
              "contentAI.write",
              "ai-studio.readonly",
              "ai-studio.write",
              "dashboard/stats.readonly",
              "locations/tags.write",
              "locations/tags.readonly",
              "marketing.write",
              "eliza.write",
              "settings.write",
              "socialplanner/post.write",
              "socialplanner/account.readonly",
              "socialplanner/account.write",
              "socialplanner/category.readonly",
              "socialplanner/category.write",
              "socialplanner/csv.readonly",
              "socialplanner/csv.write",
              "socialplanner/group.write",
              "socialplanner/hashtag.readonly",
              "socialplanner/hashtag.write",
              "socialplanner/oauth.readonly",
              "socialplanner/oauth.write",
              "socialplanner/post.readonly",
              "socialplanner/recurring.readonly",
              "socialplanner/recurring.write",
              "socialplanner/review.readonly",
              "socialplanner/review.write",
              "socialplanner/rss.readonly",
              "socialplanner/rss.write",
              "socialplanner/search.readonly",
              "socialplanner/setting.readonly",
              "socialplanner/setting.write",
              "socialplanner/stat.readonly",
              "socialplanner/tag.readonly",
              "socialplanner/tag.write",
              "socialplanner/filters.readonly",
              "socialplanner/medias.readonly",
              "socialplanner/medias.write",
              "socialplanner/watermarks.readonly",
              "socialplanner/watermarks.write",
              "socialplanner/metatag.readonly",
              "socialplanner/facebook.readonly",
              "socialplanner/linkedin.readonly",
              "socialplanner/twitter.readonly",
              "socialplanner/notification.readonly",
              "socialplanner/notification.write",
              "socialplanner/snapshot.readonly",
              "socialplanner/snapshot.write",
              "marketing/affiliate.write",
              "blogs.write",
              "membership.write",
              "communities.write",
              "gokollab.write",
              "certificates.write",
              "certificates.readonly",
              "adPublishing.write",
              "adPublishing.readonly",
              "prospecting.write",
              "prospecting.readonly",
              "prospecting/reports.readonly",
              "private-integration-location.readonly",
              "private-integration-location.write",
              "private-integration-company.readonly",
              "private-integration-company.write",
              "native-integrations.readonly",
              "native-integrations.write",
              "wordpress.write",
              "wordpress.read",
              "custom-menu-link.write",
              "qrcodes.write",
              "users/team-management.write",
              "users/team-management.readonly",
              "loginas.write",
              "users-sso-login-management.write",
              "users-sso-login-management.readonly",
              "sso-config.write",
              "snapshots/api.readonly",
              "snapshots/api.create",
              "snapshots/api.edit",
              "snapshots/api.push",
              "snapshots/api.refresh",
              "snapshots/api.share",
              "snapshots/api.delete",
              "internaltools.location-transfer.write",
              "internaltools.location-transfer.readonly",
              "affiliateportal.write",
              "affiliateportal.readonly",
              "companies.write",
              "internaltools.billing.write",
              "internaltools.billing.readonly",
              "internaltools.billing-common.readonly",
              "internaltools.billing-common.write",
              "voice-ai-agents.write",
              "voice-ai-agents.readonly",
              "voice-ai-common.readonly",
              "voice-ai-common.write",
              "voice-ai-agent-goals.readonly",
              "voice-ai-agent-goals.write",
              "voice-ai-dashboard.readonly",
              "agency/launchpad.write",
              "agency/launchpad.readonly",
              "launchpad/location.write",
              "launchpad/location.readonly",
              "text-ai-agents.write",
              "text-ai-agent-goals.readonly",
              "text-ai-agent-goals.write",
              "text-ai-agent-training.write",
              "text-ai-agents-dashboard.readonly",
              "locations.create",
              "locations.delete",
              "askai.write",
              "copilot.readonly",
              "locations.export.list",
              "locations.features-limits.manage",
              "locations.pause-resume",
              "locations.agency-subaccounts.manage",
              "locations.billing.manage",
              "locations.details.manage",
              "audit-logs.readonly",
              "audit-logs.export"
            ]
          },
          "roles": {
            "description": "Role and access configuration for the user",
            "example": {
              "type": "account",
              "role": "admin",
              "locationIds": [
                "ve9EPM428h8vShlRW1KT"
              ]
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/users_v3_RoleSchema"
              }
            ]
          },
          "lcPhone": {
            "type": "object",
            "example": {
              "locationId": "+1234556677"
            },
            "description": "CRM Phone Inbound Phone Numbers"
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        }
      },
      "users_v3_CreateUserDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string",
            "example": "ve9EPM428h8vShlRW1KT",
            "description": "Company/Agency ID to associate the user with"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com",
            "description": "Email address of the user (used for login)"
          },
          "password": {
            "type": "string",
            "example": "************",
            "description": "Password for the user account. All passwords will be required to meet the following criteria:\n\n- Minimum 12 characters\n- At least one uppercase letter (A–Z)\n- At least one lowercase letter (a–z)\n- At least one number (0–9)\n- At least one special character (e.g., !, @, #, $)"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657",
            "description": "Phone number of the user in E.164 format"
          },
          "type": {
            "type": "string",
            "example": "account",
            "description": "User account type (account for sub-account users, agency for agency-level users)"
          },
          "role": {
            "type": "string",
            "example": "admin",
            "description": "User role within the account (admin or user)"
          },
          "locationIds": {
            "example": [
              "C2QujeCh8ZnC7al2InWR"
            ],
            "description": "List of location IDs to assign to the user",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "permissions": {
            "description": "User permissions controlling access to various features",
            "example": {
              "campaignsEnabled": true,
              "campaignsReadOnly": false,
              "contactsEnabled": true,
              "workflowsEnabled": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/users_v3_PermissionsDto"
              }
            ]
          },
          "scopes": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Scopes allowed for users. Only scopes that have been passed will be enabled. Note:- If passed empty all the scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "pipelines.create",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "ai-studio.readonly",
                "ai-studio.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "askai.write",
                "copilot.readonly",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "scopesAssignedToOnly": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Assigned Scopes allowed for users. Only scopes that have been passed will be enabled. If passed empty all the assigned scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "pipelines.create",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "ai-studio.readonly",
                "ai-studio.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "askai.write",
                "copilot.readonly",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "profilePhoto": {
            "type": "string",
            "example": "https://img.png",
            "description": "URL of the user profile photo"
          },
          "twilioPhone": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "C2QujeCh8ZnC7al2InWR": "+18832327657",
              "M2QrtfVt8ZnC7cv2InDL": "+18832327657"
            },
            "description": "Per-location inbound Twilio number in E.164 format, keyed by location id (Call and Voicemail Inbound Number for direct Twilio, not CRM Phone). Replacement semantics: if you send twilioPhone in the request body, the stored map is replaced entirely with this object (not merged). Any location id omitted from the object is removed from the saved map. Omit the twilioPhone property entirely to leave existing numbers unchanged. Send an empty object {} to clear all per-location numbers. To clear a single location only, set that location id to an empty string \"\"."
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          },
          "firstName": {
            "type": "string",
            "example": "John",
            "description": "First name of the user"
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "description": "Last name of the user"
          }
        },
        "required": [
          "companyId",
          "email",
          "password",
          "type",
          "role",
          "locationIds",
          "firstName",
          "lastName"
        ]
      },
      "users_v3_UpdateUserDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "example": "John",
            "description": "First name of the user"
          },
          "lastName": {
            "type": "string",
            "example": "Deo",
            "description": "Last name of the user"
          },
          "email": {
            "type": "string",
            "example": "john@deo.com",
            "deprecated": true,
            "description": "Email update is no longer supported due to security reasons."
          },
          "password": {
            "type": "string",
            "example": "************",
            "description": "New password for the user account. All passwords will be required to meet the following criteria:\n\n- Minimum 12 characters\n- At least one uppercase letter (A–Z)\n- At least one lowercase letter (a–z)\n- At least one number (0–9)\n- At least one special character (e.g., !, @, #, $)"
          },
          "phone": {
            "type": "string",
            "example": "+18832327657",
            "description": "Phone number of the user in E.164 format"
          },
          "type": {
            "type": "string",
            "example": "account",
            "description": "User account type (account for sub-account users, agency for agency-level users)"
          },
          "role": {
            "type": "string",
            "example": "admin",
            "description": "User role within the account (admin or user)"
          },
          "companyId": {
            "type": "string",
            "description": "Company/Agency Id. Required for Agency Level access",
            "example": "UAXssdawIWAWD"
          },
          "locationIds": {
            "example": [
              "C2QujeCh8ZnC7al2InWR"
            ],
            "description": "List of sub-account location IDs the user should have access to",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "permissions": {
            "description": "User permissions controlling access to various features",
            "example": {
              "campaignsEnabled": true,
              "campaignsReadOnly": false,
              "contactsEnabled": true,
              "workflowsEnabled": true
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/users_v3_PermissionsDto"
              }
            ]
          },
          "scopes": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Scopes allowed for users. Only scopes that have been passed will be enabled. If passed empty all the scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "pipelines.create",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "ai-studio.readonly",
                "ai-studio.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "askai.write",
                "copilot.readonly",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "scopesAssignedToOnly": {
            "type": "array",
            "example": [
              "contacts.write",
              "campaigns.readonly"
            ],
            "description": "Assigned Scopes allowed for users. Only scopes that have been passed will be enabled. If passed empty all the assigned scopes will be get disabled",
            "items": {
              "type": "string",
              "enum": [
                "campaigns.readonly",
                "campaigns.write",
                "calendars.readonly",
                "calendars/events.write",
                "calendars/groups.write",
                "calendars.write",
                "contacts.write",
                "contacts/bulkActions.write",
                "workflows.readonly",
                "workflows.write",
                "triggers.write",
                "funnels.write",
                "forms.write",
                "surveys.write",
                "quizzes.write",
                "websites.write",
                "medias.write",
                "medias.readonly",
                "opportunities.write",
                "opportunities/leadValue.readonly",
                "opportunities/bulkActions.write",
                "pipelines.create",
                "reporting/phone.readonly",
                "reporting/adwords.readonly",
                "reporting/facebookAds.readonly",
                "reporting/attributions.readonly",
                "prospecting/auditReport.write",
                "reporting/reports.readonly",
                "reporting/agent.readonly",
                "reporting/reports.write",
                "reporting/stats.export",
                "payments.write",
                "payments/records.write",
                "payments/orders.readonly",
                "payments/orders.export",
                "payments/orders.import",
                "payments/orders.collectPayment",
                "payments/subscriptions.readonly",
                "payments/subscriptions.write",
                "payments/subscriptions.update",
                "payments/subscriptions.export",
                "payments/subscriptions.pauseResumeCancel",
                "payments/subscriptions.sharePaymentMethod",
                "payments/transactions.readonly",
                "payments/transactions.export",
                "payments/transactions.import",
                "payments/transactions.refund",
                "payments/transactions.viewReceipts",
                "payments/taxesSettings.readonly",
                "payments/settings.readonly",
                "payments/taxesSettings.updateInclusiveExclusive",
                "payments/taxesSettings.manageRates",
                "payments/taxesSettings.configureAutomatic",
                "products.readonly",
                "products.write",
                "products.delete",
                "products.duplicate",
                "products.bulkActions",
                "payments/settings.write",
                "payments/settings.configureReceipt",
                "payments/settings.configureSubscription",
                "invoices.write",
                "invoices.readonly",
                "invoices/schedule.readonly",
                "invoices/schedule.write",
                "invoices/template.readonly",
                "invoices/template.write",
                "reputation/review.write",
                "reputation/listing.write",
                "reputation/reviewsAIAgents.write",
                "reputation/gbp.write",
                "conversations.write",
                "conversations.readonly",
                "conversations/message.readonly",
                "conversations/message.write",
                "contentAI.write",
                "ai-studio.readonly",
                "ai-studio.write",
                "dashboard/stats.readonly",
                "locations/tags.write",
                "locations/tags.readonly",
                "marketing.write",
                "eliza.write",
                "settings.write",
                "socialplanner/post.write",
                "socialplanner/account.readonly",
                "socialplanner/account.write",
                "socialplanner/category.readonly",
                "socialplanner/category.write",
                "socialplanner/csv.readonly",
                "socialplanner/csv.write",
                "socialplanner/group.write",
                "socialplanner/hashtag.readonly",
                "socialplanner/hashtag.write",
                "socialplanner/oauth.readonly",
                "socialplanner/oauth.write",
                "socialplanner/post.readonly",
                "socialplanner/recurring.readonly",
                "socialplanner/recurring.write",
                "socialplanner/review.readonly",
                "socialplanner/review.write",
                "socialplanner/rss.readonly",
                "socialplanner/rss.write",
                "socialplanner/search.readonly",
                "socialplanner/setting.readonly",
                "socialplanner/setting.write",
                "socialplanner/stat.readonly",
                "socialplanner/tag.readonly",
                "socialplanner/tag.write",
                "socialplanner/filters.readonly",
                "socialplanner/medias.readonly",
                "socialplanner/medias.write",
                "socialplanner/watermarks.readonly",
                "socialplanner/watermarks.write",
                "socialplanner/metatag.readonly",
                "socialplanner/facebook.readonly",
                "socialplanner/linkedin.readonly",
                "socialplanner/twitter.readonly",
                "socialplanner/notification.readonly",
                "socialplanner/notification.write",
                "socialplanner/snapshot.readonly",
                "socialplanner/snapshot.write",
                "marketing/affiliate.write",
                "blogs.write",
                "membership.write",
                "communities.write",
                "gokollab.write",
                "certificates.write",
                "certificates.readonly",
                "adPublishing.write",
                "adPublishing.readonly",
                "prospecting.write",
                "prospecting.readonly",
                "prospecting/reports.readonly",
                "private-integration-location.readonly",
                "private-integration-location.write",
                "private-integration-company.readonly",
                "private-integration-company.write",
                "native-integrations.readonly",
                "native-integrations.write",
                "wordpress.write",
                "wordpress.read",
                "custom-menu-link.write",
                "qrcodes.write",
                "users/team-management.write",
                "users/team-management.readonly",
                "loginas.write",
                "users-sso-login-management.write",
                "users-sso-login-management.readonly",
                "sso-config.write",
                "snapshots/api.readonly",
                "snapshots/api.create",
                "snapshots/api.edit",
                "snapshots/api.push",
                "snapshots/api.refresh",
                "snapshots/api.share",
                "snapshots/api.delete",
                "internaltools.location-transfer.write",
                "internaltools.location-transfer.readonly",
                "affiliateportal.write",
                "affiliateportal.readonly",
                "companies.write",
                "internaltools.billing.write",
                "internaltools.billing.readonly",
                "internaltools.billing-common.readonly",
                "internaltools.billing-common.write",
                "voice-ai-agents.write",
                "voice-ai-agents.readonly",
                "voice-ai-common.readonly",
                "voice-ai-common.write",
                "voice-ai-agent-goals.readonly",
                "voice-ai-agent-goals.write",
                "voice-ai-dashboard.readonly",
                "agency/launchpad.write",
                "agency/launchpad.readonly",
                "launchpad/location.write",
                "launchpad/location.readonly",
                "text-ai-agents.write",
                "text-ai-agent-goals.readonly",
                "text-ai-agent-goals.write",
                "text-ai-agent-training.write",
                "text-ai-agents-dashboard.readonly",
                "locations.create",
                "locations.delete",
                "askai.write",
                "copilot.readonly",
                "locations.export.list",
                "locations.features-limits.manage",
                "locations.pause-resume",
                "locations.agency-subaccounts.manage",
                "locations.billing.manage",
                "locations.details.manage",
                "audit-logs.readonly",
                "audit-logs.export"
              ]
            }
          },
          "profilePhoto": {
            "type": "string",
            "example": "https://img.png",
            "description": "URL of the user profile photo"
          },
          "twilioPhone": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "C2QujeCh8ZnC7al2InWR": "+18832327657",
              "M2QrtfVt8ZnC7cv2InDL": "+18832327657"
            },
            "description": "Per-location inbound Twilio number in E.164 format, keyed by location id (Call and Voicemail Inbound Number for direct Twilio, not CRM Phone). Replacement semantics: if you send twilioPhone in the request body, the stored map is replaced entirely with this object (not merged). Any location id omitted from the object is removed from the saved map. Omit the twilioPhone property entirely to leave existing numbers unchanged. Send an empty object {} to clear all per-location numbers. To clear a single location only, set that location id to an empty string \"\"."
          },
          "platformLanguage": {
            "type": "string",
            "example": "en_US",
            "description": "Platform language preference for the user",
            "enum": [
              "en_US",
              "es",
              "fr_CA",
              "fr_FR",
              "nl",
              "de",
              "pt_PT",
              "pt_BR",
              "it",
              "sv",
              "da",
              "fi",
              "no"
            ]
          }
        }
      },
      "users_v3_DeleteUserSuccessfulResponseV3Dto": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "example": true,
            "description": "Indicates whether the user deletion was queued successfully"
          },
          "message": {
            "type": "string",
            "example": "Queued deleting user with e-mail john@deo.com and name John Deo. Will take effect in a few minutes.",
            "description": "Message describing the result of the deletion request"
          }
        }
      },
      "voice_ai_v3_VoiceAILanguage": {
        "type": "string",
        "description": "Language code for the agent's speech and understanding. Default: \"en-US\"",
        "enum": [
          "en-US",
          "pt-BR",
          "es",
          "fr",
          "de",
          "it",
          "nl-NL",
          "multi"
        ]
      },
      "voice_ai_v3_PatienceLevel": {
        "type": "string",
        "description": "Tolerance level for caller response delays. Default: \"high\"",
        "enum": [
          "low",
          "medium",
          "high"
        ]
      },
      "voice_ai_v3_SendPostCallNotificationDTO": {
        "type": "object",
        "properties": {
          "admins": {
            "type": "boolean",
            "description": "Enables post-call notifications to all admin users in the location. Default: true",
            "example": true
          },
          "allUsers": {
            "type": "boolean",
            "description": "Enables post-call notifications to all users in the location. Default: false",
            "example": false
          },
          "contactAssignedUser": {
            "type": "boolean",
            "description": "Enables post-call notifications to the user assigned to the contact. Default: false",
            "example": false
          },
          "specificUsers": {
            "description": "Array of specific user IDs to receive post-call notifications. Default: []",
            "example": [
              "user_507f1f77bcf86cd799439011"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customEmails": {
            "description": "Array of custom email addresses to receive post-call notifications. Default: []",
            "example": [
              "manager@company.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "admins",
          "allUsers",
          "contactAssignedUser",
          "specificUsers",
          "customEmails"
        ]
      },
      "voice_ai_v3_IntervalDTO": {
        "type": "object",
        "properties": {
          "startHour": {
            "type": "number",
            "description": "Starting hour of the working interval in 24-hour format (0-23)",
            "example": 9,
            "minimum": 0,
            "maximum": 23
          },
          "endHour": {
            "type": "number",
            "description": "Ending hour of the working interval in 24-hour format (0-23)",
            "example": 17,
            "minimum": 0,
            "maximum": 23
          },
          "startMinute": {
            "type": "number",
            "description": "Starting minute of the working interval (0-59)",
            "example": 0,
            "minimum": 0,
            "maximum": 59
          },
          "endMinute": {
            "type": "number",
            "description": "Ending minute of the working interval (0-59)",
            "example": 30,
            "minimum": 0,
            "maximum": 59
          }
        },
        "required": [
          "startHour",
          "endHour",
          "startMinute",
          "endMinute"
        ]
      },
      "voice_ai_v3_AgentWorkingHoursDTO": {
        "type": "object",
        "properties": {
          "dayOfTheWeek": {
            "type": "number",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6,
              7
            ],
            "description": "Day of the week for this working hours configuration (Monday=1 to Sunday=7)",
            "example": 1
          },
          "intervals": {
            "description": "Array of time intervals when the agent is available on this day",
            "example": [
              {
                "startHour": 9,
                "startMinute": 0,
                "endHour": 17,
                "endMinute": 30
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_IntervalDTO"
            }
          }
        },
        "required": [
          "dayOfTheWeek",
          "intervals"
        ]
      },
      "voice_ai_v3_TranslationDTO": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enables language translation for agent conversations. Default: false",
            "example": false
          },
          "language": {
            "type": "string",
            "description": "Target language code for translation (e.g., \"es\" for Spanish, \"fr\" for French).",
            "example": "es"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "voice_ai_v3_AgentCreationRequestDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent will operate",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name for the voice AI agent, between 1-40 characters. Default: \"My Agent {random 3 digit number}\"",
            "example": "Customer Support Agent",
            "maxLength": 40,
            "minLength": 1
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents. Default: Uses location name",
            "example": "Acme Corporation",
            "minLength": 1
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Initial greeting spoken when the agent answers calls. Default: Auto generated",
            "example": "Hello! Thank you for calling Acme Corporation. How can I assist you today?",
            "maxLength": 190,
            "minLength": 1
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior and personality. Default: Basic prompt generated automatically",
            "example": "You are a helpful customer service representative. Always be polite and professional."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice from available voice options. Default: Auto generated",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "$ref": "#/components/schemas/voice_ai_v3_VoiceAILanguage"
          },
          "patienceLevel": {
            "$ref": "#/components/schemas/voice_ai_v3_PatienceLevel"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900 (3-15 minutes). Default: 300 seconds (5 minutes)",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Enables automatic reminders when callers are silent. Default: true",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20. Default: 8 seconds",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls to this agent. Default: null",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing phone number allocation. Default: null",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs to trigger automatically when calls end. Default: []",
            "example": [
              "wf_507f1f77bcf86cd799439011",
              "wf_507f1f77bcf86cd799439012"
            ],
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Configuration for post-call email notifications to various recipients. Default: []",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_SendPostCallNotificationDTO"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals defining when the agent accepts calls, organized by day of week. Default: [] (available 24/7)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier affecting working hours and scheduling. Default: Location timezone",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Prevents this agent from being used as a fallback option. Default: false (Available as backup agent)",
            "example": false
          },
          "translation": {
            "description": "Language translation settings including enablement flag and target language code. Rules: (1) translation.enabled can only be true if the agent's language is not en-US; (2) when enabled, translation.language must be either the agent's language or en-US; (3) when enabled, translation.language is required.",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_TranslationDTO"
              }
            ]
          }
        },
        "required": [
          "locationId"
        ]
      },
      "voice_ai_v3_SendPostCallNotificationSchema": {
        "type": "object",
        "properties": {
          "admins": {
            "type": "boolean",
            "description": "Send notifications to admins",
            "example": true
          },
          "allUsers": {
            "type": "boolean",
            "description": "Send notifications to all users",
            "example": false
          },
          "contactAssignedUser": {
            "type": "boolean",
            "description": "Send notifications to contact assigned user",
            "example": false
          },
          "specificUsers": {
            "description": "Specific user IDs to notify",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customEmails": {
            "description": "Custom email addresses to notify",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "voice_ai_v3_TranslationSchema": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether translation is enabled",
            "example": false
          },
          "language": {
            "type": "string",
            "description": "Translation language code",
            "example": "es"
          }
        }
      },
      "voice_ai_v3_CreateAgentResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created agent",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent operates",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name of the voice AI agent",
            "example": "Customer Support Agent"
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents",
            "example": "Acme Corporation"
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Greeting message spoken when the agent answers calls",
            "example": "Hello! Thank you for calling. How can I assist you today?"
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior",
            "example": "You are a helpful customer service representative."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice being used",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "type": "string",
            "description": "Language code for the agent's speech and understanding",
            "example": "en-US"
          },
          "patienceLevel": {
            "type": "string",
            "description": "Current tolerance level for caller response delays",
            "example": "medium"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Indicates whether automatic idle reminders are enabled",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing this agent's phone allocation",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs triggered automatically when calls end",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Current post-call notification settings including recipient configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_SendPostCallNotificationSchema"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals when the agent accepts calls, organized by day of week",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier for working hours and scheduling",
            "example": "America/New_York"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Indicates whether this agent is excluded from backup scenarios",
            "example": false
          },
          "translation": {
            "description": "Current language translation settings including enablement status and target language",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_TranslationSchema"
              }
            ]
          }
        },
        "required": [
          "id",
          "locationId",
          "agentName",
          "businessName",
          "welcomeMessage",
          "agentPrompt",
          "voiceId",
          "language",
          "patienceLevel",
          "maxCallDuration",
          "sendUserIdleReminders",
          "reminderAfterIdleTimeSeconds",
          "timezone",
          "isAgentAsBackupDisabled"
        ]
      },
      "voice_ai_v3_PatchAgentDTO": {
        "type": "object",
        "properties": {
          "agentName": {
            "type": "string",
            "description": "Display name for the voice AI agent, between 1-40 characters. Default: \"My Agent {random 3 digit number}\"",
            "example": "Customer Support Agent",
            "maxLength": 40,
            "minLength": 1
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents. Default: Uses location name",
            "example": "Acme Corporation",
            "minLength": 1
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Initial greeting spoken when the agent answers calls. Default: Auto generated",
            "example": "Hello! Thank you for calling Acme Corporation. How can I assist you today?",
            "maxLength": 190,
            "minLength": 1
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior and personality. Default: Basic prompt generated automatically",
            "example": "You are a helpful customer service representative. Always be polite and professional."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice from available voice options. Default: Auto generated",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "$ref": "#/components/schemas/voice_ai_v3_VoiceAILanguage"
          },
          "patienceLevel": {
            "$ref": "#/components/schemas/voice_ai_v3_PatienceLevel"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900 (3-15 minutes). Default: 300 seconds (5 minutes)",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Enables automatic reminders when callers are silent. Default: true",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20. Default: 8 seconds",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls to this agent. Default: null",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing phone number allocation. Default: null",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs to trigger automatically when calls end. Default: []",
            "example": [
              "wf_507f1f77bcf86cd799439011",
              "wf_507f1f77bcf86cd799439012"
            ],
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Configuration for post-call email notifications to various recipients. Default: []",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_SendPostCallNotificationDTO"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals defining when the agent accepts calls, organized by day of week. Default: [] (available 24/7)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier affecting working hours and scheduling. Default: Location timezone",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Prevents this agent from being used as a fallback option. Default: false (Available as backup agent)",
            "example": false
          },
          "translation": {
            "description": "Language translation settings including enablement flag and target language code. Rules: (1) translation.enabled can only be true if the agent's language is not en-US; (2) when enabled, translation.language must be either the agent's language or en-US; (3) when enabled, translation.language is required.",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_TranslationDTO"
              }
            ]
          }
        }
      },
      "voice_ai_v3_PatchAgentResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created agent",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent operates",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name of the voice AI agent",
            "example": "Customer Support Agent"
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents",
            "example": "Acme Corporation"
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Greeting message spoken when the agent answers calls",
            "example": "Hello! Thank you for calling. How can I assist you today?"
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior",
            "example": "You are a helpful customer service representative."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice being used",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "type": "string",
            "description": "Language code for the agent's speech and understanding",
            "example": "en-US"
          },
          "patienceLevel": {
            "type": "string",
            "description": "Current tolerance level for caller response delays",
            "example": "medium"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Indicates whether automatic idle reminders are enabled",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing this agent's phone allocation",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs triggered automatically when calls end",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Current post-call notification settings including recipient configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_SendPostCallNotificationSchema"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals when the agent accepts calls, organized by day of week",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier for working hours and scheduling",
            "example": "America/New_York"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Indicates whether this agent is excluded from backup scenarios",
            "example": false
          },
          "translation": {
            "description": "Current language translation settings including enablement status and target language",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_TranslationSchema"
              }
            ]
          }
        },
        "required": [
          "id",
          "locationId",
          "agentName",
          "businessName",
          "welcomeMessage",
          "agentPrompt",
          "voiceId",
          "language",
          "patienceLevel",
          "maxCallDuration",
          "sendUserIdleReminders",
          "reminderAfterIdleTimeSeconds",
          "timezone",
          "isAgentAsBackupDisabled"
        ]
      },
      "voice_ai_v3_AgentActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for this action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ]
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_v3_GetAgentResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created agent",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent operates",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name of the voice AI agent",
            "example": "Customer Support Agent"
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents",
            "example": "Acme Corporation"
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Greeting message spoken when the agent answers calls",
            "example": "Hello! Thank you for calling. How can I assist you today?"
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior",
            "example": "You are a helpful customer service representative."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice being used",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "type": "string",
            "description": "Language code for the agent's speech and understanding",
            "example": "en-US"
          },
          "patienceLevel": {
            "type": "string",
            "description": "Current tolerance level for caller response delays",
            "example": "medium"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Indicates whether automatic idle reminders are enabled",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing this agent's phone allocation",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs triggered automatically when calls end",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Current post-call notification settings including recipient configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_SendPostCallNotificationSchema"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals when the agent accepts calls, organized by day of week",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier for working hours and scheduling",
            "example": "America/New_York"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Indicates whether this agent is excluded from backup scenarios",
            "example": false
          },
          "translation": {
            "description": "Current language translation settings including enablement status and target language",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_TranslationSchema"
              }
            ]
          },
          "actions": {
            "description": "Raw actions configured for this agent with complete actionParameters structure",
            "example": [
              {
                "_id": "507f1f77bcf86cd799439011",
                "actionType": "CALL_TRANSFER",
                "name": "Transfer to Manager",
                "actionParameters": {
                  "triggerPrompt": "When caller asks for manager",
                  "triggerMessage": "Let me transfer you",
                  "transferToType": "number",
                  "transferToValue": "+1234567890"
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_AgentActionResponseDTO"
            }
          }
        },
        "required": [
          "id",
          "locationId",
          "agentName",
          "businessName",
          "welcomeMessage",
          "agentPrompt",
          "voiceId",
          "language",
          "patienceLevel",
          "maxCallDuration",
          "sendUserIdleReminders",
          "reminderAfterIdleTimeSeconds",
          "timezone",
          "isAgentAsBackupDisabled",
          "actions"
        ]
      },
      "voice_ai_v3_GetAgentsResponseDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 150
          },
          "page": {
            "type": "number",
            "description": "Page number starting from 1",
            "example": 2
          },
          "pageSize": {
            "type": "number",
            "description": "Number of items per page",
            "example": 10
          },
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_GetAgentResponseDTO"
            }
          }
        },
        "required": [
          "total",
          "page",
          "pageSize",
          "agents"
        ]
      },
      "voice_ai_v3_CallTransferActionParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to trigger this action during the call",
            "example": "When the caller asks to speak to a manager"
          },
          "transferToType": {
            "type": "string",
            "description": "Type of transfer destination (currently only \"number\" is supported)",
            "enum": [
              "number"
            ],
            "example": "number"
          },
          "transferToValue": {
            "type": "string",
            "description": "Phone number to transfer to. Must start with +, include country code, contain only numbers, and be 11-16 characters long (e.g., +12345678901).",
            "example": "+12345678901"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller before transferring",
            "example": "Let me transfer you to a manager right away"
          },
          "hearWhisperMessage": {
            "type": "boolean",
            "description": "Whether to play whisper message to the receiving party",
            "example": true
          }
        },
        "required": [
          "triggerPrompt",
          "transferToType",
          "transferToValue",
          "triggerMessage"
        ]
      },
      "voice_ai_v3_DataExtractionActionParameters": {
        "type": "object",
        "properties": {
          "contactFieldId": {
            "type": "string",
            "description": "ID of the contact field to be updated with the extracted data",
            "example": "507f1f77bcf86cd799439011"
          },
          "description": {
            "type": "string",
            "description": "Description of what data to extract",
            "example": "Caller's phone number"
          },
          "examples": {
            "description": "Example values to help Agent understand the expected format. At least one example is required, maximum 5 examples allowed.",
            "example": [
              "+1234567890",
              "+9876543210"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "overwriteExistingValue": {
            "type": "boolean",
            "description": "Whether to overwrite existing field value if already set, default is false",
            "example": false,
            "default": false
          }
        },
        "required": [
          "contactFieldId",
          "description",
          "examples"
        ]
      },
      "voice_ai_v3_InCallDataExtractionActionParameters": {
        "type": "object",
        "properties": {
          "contactFieldId": {
            "type": "string",
            "description": "ID of the contact field to be updated with the extracted data",
            "example": "507f1f77bcf86cd799439011"
          },
          "description": {
            "type": "string",
            "description": "Description of what data to extract",
            "example": "Caller's phone number"
          },
          "examples": {
            "description": "Example values to help Agent understand the expected format. At least one example is required, maximum 5 examples allowed.",
            "example": [
              "+1234567890",
              "+9876543210"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "overwriteExistingValue": {
            "type": "boolean",
            "description": "Whether to overwrite existing field value if already set, default is false",
            "example": false,
            "default": false
          }
        },
        "required": [
          "contactFieldId",
          "description",
          "examples"
        ]
      },
      "voice_ai_v3_WorkflowTriggerParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to trigger this workflow",
            "example": "When caller requests a quote"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller",
            "example": "Let me start that process for you"
          },
          "workflowId": {
            "type": "string",
            "description": "Workflow ID to trigger",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "triggerPrompt",
          "triggerMessage",
          "workflowId"
        ]
      },
      "voice_ai_v3_SMSParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to send the SMS",
            "example": "When caller asks for booking confirmation"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller",
            "example": "I'll send you a confirmation text"
          },
          "messageBody": {
            "type": "string",
            "description": "SMS message content to send",
            "example": "Your appointment is confirmed for tomorrow at 2 PM"
          }
        },
        "required": [
          "triggerPrompt",
          "triggerMessage",
          "messageBody"
        ]
      },
      "voice_ai_v3_AppointmentBookingActionParameters": {
        "type": "object",
        "properties": {
          "calendarId": {
            "type": "string",
            "description": "Calendar ID to book appointments in",
            "example": "507f1f77bcf86cd799439011"
          },
          "daysOfOfferingDates": {
            "type": "number",
            "description": "Number of days ahead to offer booking dates",
            "example": 3
          },
          "slotsPerDay": {
            "type": "number",
            "description": "Number of available slots per day",
            "example": 3
          },
          "hoursBetweenSlots": {
            "type": "number",
            "description": "Hours between available slots",
            "example": 1
          }
        },
        "required": [
          "calendarId",
          "daysOfOfferingDates",
          "slotsPerDay",
          "hoursBetweenSlots"
        ]
      },
      "voice_ai_v3_CustomActionHeaderDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "HTTP header name",
            "example": "id"
          },
          "value": {
            "type": "string",
            "description": "HTTP header value",
            "example": "1234567890"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "voice_ai_v3_CustomActionParameterDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name",
            "example": "orderId"
          },
          "description": {
            "type": "string",
            "description": "Parameter description",
            "example": "Order ID to look up"
          },
          "type": {
            "type": "string",
            "description": "Parameter type",
            "example": "string"
          },
          "example": {
            "type": "string",
            "description": "Example parameter value",
            "example": "ORD-12345"
          }
        },
        "required": [
          "name"
        ]
      },
      "voice_ai_v3_CustomActionApiDetailsDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "API endpoint URL",
            "example": "https://api.example.com/orders"
          },
          "method": {
            "type": "string",
            "description": "HTTP method",
            "example": "GET",
            "enum": [
              "POST",
              "GET"
            ]
          },
          "authenticationRequired": {
            "type": "boolean",
            "description": "Whether authentication is required",
            "example": true
          },
          "authenticationValue": {
            "type": "string",
            "description": "Authentication token or API key (required if authenticationRequired is true)",
            "example": "token123"
          },
          "headers": {
            "description": "HTTP headers to include",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_CustomActionHeaderDTO"
            }
          },
          "parameters": {
            "description": "API parameters to send",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameterDTO"
            }
          }
        },
        "required": [
          "url",
          "method"
        ]
      },
      "voice_ai_v3_CustomActionParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to call the custom API",
            "example": "When caller provides order number"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller",
            "example": "Let me check that order status"
          },
          "apiDetails": {
            "description": "API endpoint configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionApiDetailsDTO"
              }
            ]
          },
          "selectedPaths": {
            "description": "Selected response paths to extract from API response. Required: at least 1 value if the method is GET. Should be empty if the method is POST.",
            "example": [
              "data.orderId",
              "status"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "triggerPrompt",
          "triggerMessage",
          "apiDetails"
        ]
      },
      "voice_ai_v3_KnowledgeBaseParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to query the knowledge base",
            "example": "When caller asks about pricing"
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID to query",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "triggerPrompt",
          "knowledgeBaseId"
        ]
      },
      "voice_ai_v3_CallActionSchema": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "description": "Action ID reference",
            "example": "507f1f77bcf86cd799439015"
          },
          "actionType": {
            "type": "string",
            "description": "Action type",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "SMS"
          },
          "actionName": {
            "type": "string",
            "description": "Action name",
            "example": "Send SMS Confirmation"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "sms": {
                "summary": "SMS Action Parameters",
                "value": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Customer's email address",
                  "examples": [
                    "john@example.com",
                    "jane@company.com"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439020"
                }
              },
              "appointmentBooking": {
                "summary": "Appointment Booking Action Parameters",
                "value": {
                  "calendarId": "507f1f77bcf86cd799439022",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                }
              },
              "customAction": {
                "summary": "Custom Action Parameters",
                "value": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                }
              },
              "knowledgeBase": {
                "summary": "Knowledge Base Action Parameters",
                "value": {
                  "triggerPrompt": "When caller asks about pricing",
                  "triggerMessage": "Let me look that up for you",
                  "knowledgeBaseId": "507f1f77bcf86cd799439027",
                  "parameters": [
                    {
                      "name": "category",
                      "description": "Product category to search",
                      "type": "string",
                      "example": "pricing"
                    }
                  ]
                }
              }
            }
          },
          "executedAt": {
            "format": "date-time",
            "type": "string",
            "description": "When the action was executed",
            "example": "2024-01-15T10:32:00.000Z"
          },
          "triggerReceivedAt": {
            "format": "date-time",
            "type": "string",
            "description": "When the trigger was received",
            "example": "2024-01-15T10:31:45.000Z"
          }
        },
        "required": [
          "actionType",
          "actionName"
        ]
      },
      "voice_ai_v3_ExtractedDataSchema": {
        "type": "object",
        "properties": {}
      },
      "voice_ai_v3_CallLogDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the call",
            "example": "507f1f77bcf86cd799439011"
          },
          "contactId": {
            "type": "string",
            "description": "Associated contact ID",
            "example": "507f1f77bcf86cd799439012"
          },
          "agentId": {
            "type": "string",
            "description": "Agent ID associated with the call",
            "example": "507f1f77bcf86cd799439013"
          },
          "isAgentDeleted": {
            "type": "boolean",
            "description": "Whether the agent is deleted",
            "example": false
          },
          "fromNumber": {
            "type": "string",
            "description": "Caller phone number",
            "example": "+1234567890"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when the call was created",
            "example": "2024-01-15T10:30:00.000Z"
          },
          "duration": {
            "type": "number",
            "description": "Call duration in seconds",
            "example": 180
          },
          "trialCall": {
            "type": "boolean",
            "description": "Whether this call was a trial call",
            "example": false
          },
          "executedCallActions": {
            "description": "Actions performed during the call. Note: The APPOINTMENT_BOOKING action will only be visible in executedCallActions from Sep 9th 2025.",
            "example": [
              {
                "actionId": "507f1f77bcf86cd799439015",
                "actionType": "CALL_TRANSFER",
                "actionName": "Transfer to Manager",
                "actionParameters": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                },
                "executedAt": "2024-01-15T10:32:00.000Z",
                "triggerReceivedAt": "2024-01-15T10:31:45.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439016",
                "actionType": "SMS",
                "actionName": "Send Confirmation SMS",
                "actionParameters": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                },
                "executedAt": "2024-01-15T10:33:30.000Z",
                "triggerReceivedAt": "2024-01-15T10:33:15.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439017",
                "actionType": "DATA_EXTRACTION",
                "actionName": "Extract Phone Number",
                "actionParameters": {
                  "contactFieldId": "507f1f77bcf86cd799439018",
                  "description": "Customer's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                },
                "executedAt": "2024-01-15T10:34:15.000Z",
                "triggerReceivedAt": "2024-01-15T10:34:00.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439019",
                "actionType": "WORKFLOW_TRIGGER",
                "actionName": "Start Follow-up Workflow",
                "actionParameters": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439020"
                },
                "executedAt": "2024-01-15T10:35:00.000Z",
                "triggerReceivedAt": "2024-01-15T10:34:45.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439021",
                "actionType": "APPOINTMENT_BOOKING",
                "actionName": "Book Consultation",
                "actionParameters": {
                  "calendarId": "507f1f77bcf86cd799439022",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                },
                "executedAt": "2024-01-15T10:36:45.000Z",
                "triggerReceivedAt": "2024-01-15T10:36:30.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439023",
                "actionType": "CUSTOM_ACTION",
                "actionName": "Check Order Status",
                "actionParameters": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                },
                "executedAt": "2024-01-15T10:37:20.000Z",
                "triggerReceivedAt": "2024-01-15T10:37:05.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439024",
                "actionType": "IN_CALL_DATA_EXTRACTION",
                "actionName": "Extract Email During Call",
                "actionParameters": {
                  "contactFieldId": "507f1f77bcf86cd799439025",
                  "description": "Customer's email address",
                  "examples": [
                    "john@example.com",
                    "jane@company.com"
                  ],
                  "overwriteExistingValue": true
                },
                "executedAt": "2024-01-15T10:31:45.000Z",
                "triggerReceivedAt": "2024-01-15T10:31:30.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439026",
                "actionType": "KNOWLEDGE_BASE",
                "actionName": "Query Product Info",
                "actionParameters": {
                  "triggerPrompt": "When caller asks about pricing",
                  "triggerMessage": "Let me look that up for you",
                  "knowledgeBaseId": "507f1f77bcf86cd799439027",
                  "parameters": [
                    {
                      "name": "category",
                      "description": "Product category to search",
                      "type": "string",
                      "example": "pricing"
                    }
                  ]
                },
                "executedAt": "2024-01-15T10:38:10.000Z",
                "triggerReceivedAt": "2024-01-15T10:37:55.000Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_CallActionSchema"
            }
          },
          "summary": {
            "type": "string",
            "description": "Call summary",
            "example": "Customer called to inquire about product pricing and was transferred to sales team."
          },
          "transcript": {
            "type": "string",
            "description": "Call transcript",
            "example": "bot: Hello, how can I help you today?\nhuman: I would like to know about your pricing..."
          },
          "translation": {
            "description": "Transcript translation details",
            "example": {
              "translatedTranscript": "Translated version of the call transcript"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_TranslationSchema"
              }
            ]
          },
          "extractedData": {
            "description": "Dynamic data extracted from the call based on agent configuration",
            "example": {
              "phoneNumber": "+1234567890",
              "customerName": "John Doe",
              "email": "john.doe@example.com",
              "companyName": "Acme Corp",
              "customField1": "Custom value",
              "customField2": "Another value"
            },
            "additionalProperties": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_ExtractedDataSchema"
              }
            ]
          },
          "messageId": {
            "type": "string",
            "description": "Message identifier associated with the call",
            "example": "507f1f77bcf86cd799439014"
          }
        },
        "required": [
          "id",
          "agentId",
          "isAgentDeleted",
          "createdAt",
          "duration",
          "trialCall",
          "executedCallActions",
          "summary",
          "transcript"
        ]
      },
      "voice_ai_v3_CallLogsResponseDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 150
          },
          "page": {
            "type": "number",
            "description": "Page number starting from 1",
            "example": 2
          },
          "pageSize": {
            "type": "number",
            "description": "Number of items per page",
            "example": 10
          },
          "callLogs": {
            "description": "Array of call logs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_v3_CallLogDTO"
            }
          }
        },
        "required": [
          "total",
          "page",
          "pageSize",
          "callLogs"
        ]
      },
      "voice_ai_v3_CreateSingleActionDTO": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "description": "Agent ID to attach the action to",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "507f1f77bcf86cd799439012"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              },
              "sms": {
                "summary": "SMS Action",
                "value": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                }
              },
              "appointmentBooking": {
                "summary": "Appointment Booking Action",
                "value": {
                  "calendarId": "507f1f77bcf86cd799439011",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                }
              },
              "customAction": {
                "summary": "Custom Action",
                "value": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                }
              },
              "knowledgeBase": {
                "summary": "Knowledge Base Action",
                "value": {
                  "triggerPrompt": "When caller asks about pricing",
                  "knowledgeBaseId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "agentId",
          "locationId",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_v3_CreateActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_v3_UpdateSingleActionDTO": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "description": "Agent ID to attach the action to",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "507f1f77bcf86cd799439012"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              },
              "sms": {
                "summary": "SMS Action",
                "value": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                }
              },
              "appointmentBooking": {
                "summary": "Appointment Booking Action",
                "value": {
                  "calendarId": "507f1f77bcf86cd799439011",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                }
              },
              "customAction": {
                "summary": "Custom Action",
                "value": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                }
              },
              "knowledgeBase": {
                "summary": "Knowledge Base Action",
                "value": {
                  "triggerPrompt": "When caller asks about pricing",
                  "knowledgeBaseId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "agentId",
          "locationId",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_v3_UpdateActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_v3_GetActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_v3_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_v3_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "workflows_v3_WorkflowSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "78559bb3-b920-461e-b010-7b2a2816d2a9"
          },
          "name": {
            "type": "string",
            "example": "First Workflow"
          },
          "status": {
            "type": "string",
            "example": "draft"
          },
          "version": {
            "type": "number",
            "example": 2
          },
          "createdAt": {
            "type": "string",
            "example": "2021-05-26T11:33:49.000Z"
          },
          "updatedAt": {
            "type": "string",
            "example": "2021-05-26T11:33:49.000Z"
          },
          "locationId": {
            "type": "string",
            "example": "eBG6WapS3v4ZqwA45MTxtYJ"
          }
        }
      },
      "workflows_v3_GetWorkflowSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "workflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/workflows_v3_WorkflowSchema"
            }
          }
        }
      },
      "voice_ai_VoiceAILanguage": {
        "type": "string",
        "description": "Language code for the agent's speech and understanding. Default: \"en-US\"",
        "enum": [
          "en-US",
          "pt-BR",
          "es",
          "fr",
          "de",
          "it",
          "nl-NL",
          "multi"
        ]
      },
      "voice_ai_PatienceLevel": {
        "type": "string",
        "description": "Tolerance level for caller response delays. Default: \"high\"",
        "enum": [
          "low",
          "medium",
          "high"
        ]
      },
      "voice_ai_SendPostCallNotificationDTO": {
        "type": "object",
        "properties": {
          "admins": {
            "type": "boolean",
            "description": "Enables post-call notifications to all admin users in the location. Default: true",
            "example": true
          },
          "allUsers": {
            "type": "boolean",
            "description": "Enables post-call notifications to all users in the location. Default: false",
            "example": false
          },
          "contactAssignedUser": {
            "type": "boolean",
            "description": "Enables post-call notifications to the user assigned to the contact. Default: false",
            "example": false
          },
          "specificUsers": {
            "description": "Array of specific user IDs to receive post-call notifications. Default: []",
            "example": [
              "user_507f1f77bcf86cd799439011"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customEmails": {
            "description": "Array of custom email addresses to receive post-call notifications. Default: []",
            "example": [
              "manager@company.com"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "admins",
          "allUsers",
          "contactAssignedUser",
          "specificUsers",
          "customEmails"
        ]
      },
      "voice_ai_IntervalDTO": {
        "type": "object",
        "properties": {
          "startHour": {
            "type": "number",
            "description": "Starting hour of the working interval in 24-hour format (0-23)",
            "example": 9,
            "minimum": 0,
            "maximum": 23
          },
          "endHour": {
            "type": "number",
            "description": "Ending hour of the working interval in 24-hour format (0-23)",
            "example": 17,
            "minimum": 0,
            "maximum": 23
          },
          "startMinute": {
            "type": "number",
            "description": "Starting minute of the working interval (0-59)",
            "example": 0,
            "minimum": 0,
            "maximum": 59
          },
          "endMinute": {
            "type": "number",
            "description": "Ending minute of the working interval (0-59)",
            "example": 30,
            "minimum": 0,
            "maximum": 59
          }
        },
        "required": [
          "startHour",
          "endHour",
          "startMinute",
          "endMinute"
        ]
      },
      "voice_ai_AgentWorkingHoursDTO": {
        "type": "object",
        "properties": {
          "dayOfTheWeek": {
            "type": "number",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6,
              7
            ],
            "description": "Day of the week for this working hours configuration (Monday=1 to Sunday=7)",
            "example": 1
          },
          "intervals": {
            "description": "Array of time intervals when the agent is available on this day",
            "example": [
              {
                "startHour": 9,
                "startMinute": 0,
                "endHour": 17,
                "endMinute": 30
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_IntervalDTO"
            }
          }
        },
        "required": [
          "dayOfTheWeek",
          "intervals"
        ]
      },
      "voice_ai_TranslationDTO": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enables language translation for agent conversations. Default: false",
            "example": false
          },
          "language": {
            "type": "string",
            "description": "Target language code for translation (e.g., \"es\" for Spanish, \"fr\" for French).",
            "example": "es"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "voice_ai_AgentCreationRequestDTO": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent will operate",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name for the voice AI agent, between 1-40 characters. Default: \"My Agent {random 3 digit number}\"",
            "example": "Customer Support Agent",
            "maxLength": 40,
            "minLength": 1
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents. Default: Uses location name",
            "example": "Acme Corporation",
            "minLength": 1
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Initial greeting spoken when the agent answers calls. Default: Auto generated",
            "example": "Hello! Thank you for calling Acme Corporation. How can I assist you today?",
            "maxLength": 190,
            "minLength": 1
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior and personality. Default: Basic prompt generated automatically",
            "example": "You are a helpful customer service representative. Always be polite and professional."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice from available voice options. Default: Auto generated",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "$ref": "#/components/schemas/voice_ai_VoiceAILanguage"
          },
          "patienceLevel": {
            "$ref": "#/components/schemas/voice_ai_PatienceLevel"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900 (3-15 minutes). Default: 300 seconds (5 minutes)",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Enables automatic reminders when callers are silent. Default: true",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20. Default: 8 seconds",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls to this agent. Default: null",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing phone number allocation. Default: null",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs to trigger automatically when calls end. Default: []",
            "example": [
              "wf_507f1f77bcf86cd799439011",
              "wf_507f1f77bcf86cd799439012"
            ],
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Configuration for post-call email notifications to various recipients. Default: []",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_SendPostCallNotificationDTO"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals defining when the agent accepts calls, organized by day of week. Default: [] (available 24/7)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier affecting working hours and scheduling. Default: Location timezone",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Prevents this agent from being used as a fallback option. Default: false (Available as backup agent)",
            "example": false
          },
          "translation": {
            "description": "Language translation settings including enablement flag and target language code. Rules: (1) translation.enabled can only be true if the agent's language is not en-US; (2) when enabled, translation.language must be either the agent's language or en-US; (3) when enabled, translation.language is required.",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_TranslationDTO"
              }
            ]
          }
        },
        "required": [
          "locationId"
        ]
      },
      "voice_ai_SendPostCallNotificationSchema": {
        "type": "object",
        "properties": {
          "admins": {
            "type": "boolean",
            "description": "Send notifications to admins",
            "example": true
          },
          "allUsers": {
            "type": "boolean",
            "description": "Send notifications to all users",
            "example": false
          },
          "contactAssignedUser": {
            "type": "boolean",
            "description": "Send notifications to contact assigned user",
            "example": false
          },
          "specificUsers": {
            "description": "Specific user IDs to notify",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customEmails": {
            "description": "Custom email addresses to notify",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "voice_ai_TranslationSchema": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether translation is enabled",
            "example": false
          },
          "language": {
            "type": "string",
            "description": "Translation language code",
            "example": "es"
          }
        }
      },
      "voice_ai_CreateAgentResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created agent",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent operates",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name of the voice AI agent",
            "example": "Customer Support Agent"
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents",
            "example": "Acme Corporation"
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Greeting message spoken when the agent answers calls",
            "example": "Hello! Thank you for calling. How can I assist you today?"
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior",
            "example": "You are a helpful customer service representative."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice being used",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "type": "string",
            "description": "Language code for the agent's speech and understanding",
            "example": "en-US"
          },
          "patienceLevel": {
            "type": "string",
            "description": "Current tolerance level for caller response delays",
            "example": "medium"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Indicates whether automatic idle reminders are enabled",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing this agent's phone allocation",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs triggered automatically when calls end",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Current post-call notification settings including recipient configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_SendPostCallNotificationSchema"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals when the agent accepts calls, organized by day of week",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier for working hours and scheduling",
            "example": "America/New_York"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Indicates whether this agent is excluded from backup scenarios",
            "example": false
          },
          "translation": {
            "description": "Current language translation settings including enablement status and target language",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_TranslationSchema"
              }
            ]
          }
        },
        "required": [
          "id",
          "locationId",
          "agentName",
          "businessName",
          "welcomeMessage",
          "agentPrompt",
          "voiceId",
          "language",
          "patienceLevel",
          "maxCallDuration",
          "sendUserIdleReminders",
          "reminderAfterIdleTimeSeconds",
          "timezone",
          "isAgentAsBackupDisabled"
        ]
      },
      "voice_ai_PatchAgentDTO": {
        "type": "object",
        "properties": {
          "agentName": {
            "type": "string",
            "description": "Display name for the voice AI agent, between 1-40 characters. Default: \"My Agent {random 3 digit number}\"",
            "example": "Customer Support Agent",
            "maxLength": 40,
            "minLength": 1
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents. Default: Uses location name",
            "example": "Acme Corporation",
            "minLength": 1
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Initial greeting spoken when the agent answers calls. Default: Auto generated",
            "example": "Hello! Thank you for calling Acme Corporation. How can I assist you today?",
            "maxLength": 190,
            "minLength": 1
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior and personality. Default: Basic prompt generated automatically",
            "example": "You are a helpful customer service representative. Always be polite and professional."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice from available voice options. Default: Auto generated",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "$ref": "#/components/schemas/voice_ai_VoiceAILanguage"
          },
          "patienceLevel": {
            "$ref": "#/components/schemas/voice_ai_PatienceLevel"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900 (3-15 minutes). Default: 300 seconds (5 minutes)",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Enables automatic reminders when callers are silent. Default: true",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20. Default: 8 seconds",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls to this agent. Default: null",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing phone number allocation. Default: null",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs to trigger automatically when calls end. Default: []",
            "example": [
              "wf_507f1f77bcf86cd799439011",
              "wf_507f1f77bcf86cd799439012"
            ],
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Configuration for post-call email notifications to various recipients. Default: []",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_SendPostCallNotificationDTO"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals defining when the agent accepts calls, organized by day of week. Default: [] (available 24/7)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier affecting working hours and scheduling. Default: Location timezone",
            "example": "America/New_York",
            "pattern": "^[A-Za-z_]+/[A-Za-z_]+$"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Prevents this agent from being used as a fallback option. Default: false (Available as backup agent)",
            "example": false
          },
          "translation": {
            "description": "Language translation settings including enablement flag and target language code. Rules: (1) translation.enabled can only be true if the agent's language is not en-US; (2) when enabled, translation.language must be either the agent's language or en-US; (3) when enabled, translation.language is required.",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_TranslationDTO"
              }
            ]
          }
        }
      },
      "voice_ai_PatchAgentResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created agent",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent operates",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name of the voice AI agent",
            "example": "Customer Support Agent"
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents",
            "example": "Acme Corporation"
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Greeting message spoken when the agent answers calls",
            "example": "Hello! Thank you for calling. How can I assist you today?"
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior",
            "example": "You are a helpful customer service representative."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice being used",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "type": "string",
            "description": "Language code for the agent's speech and understanding",
            "example": "en-US"
          },
          "patienceLevel": {
            "type": "string",
            "description": "Current tolerance level for caller response delays",
            "example": "medium"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Indicates whether automatic idle reminders are enabled",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing this agent's phone allocation",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs triggered automatically when calls end",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Current post-call notification settings including recipient configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_SendPostCallNotificationSchema"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals when the agent accepts calls, organized by day of week",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier for working hours and scheduling",
            "example": "America/New_York"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Indicates whether this agent is excluded from backup scenarios",
            "example": false
          },
          "translation": {
            "description": "Current language translation settings including enablement status and target language",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_TranslationSchema"
              }
            ]
          }
        },
        "required": [
          "id",
          "locationId",
          "agentName",
          "businessName",
          "welcomeMessage",
          "agentPrompt",
          "voiceId",
          "language",
          "patienceLevel",
          "maxCallDuration",
          "sendUserIdleReminders",
          "reminderAfterIdleTimeSeconds",
          "timezone",
          "isAgentAsBackupDisabled"
        ]
      },
      "voice_ai_AgentActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for this action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ]
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_GetAgentResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created agent",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Unique identifier for the location where this agent operates",
            "example": "LOC123456789ABCDEF"
          },
          "agentName": {
            "type": "string",
            "description": "Display name of the voice AI agent",
            "example": "Customer Support Agent"
          },
          "businessName": {
            "type": "string",
            "description": "Name of the business this agent represents",
            "example": "Acme Corporation"
          },
          "welcomeMessage": {
            "type": "string",
            "description": "Greeting message spoken when the agent answers calls",
            "example": "Hello! Thank you for calling. How can I assist you today?"
          },
          "agentPrompt": {
            "type": "string",
            "description": "Custom instructions defining the agent's behavior",
            "example": "You are a helpful customer service representative."
          },
          "voiceId": {
            "type": "string",
            "description": "Identifier for the speech synthesis voice being used",
            "example": "507f1f77bcf86cd799439011"
          },
          "language": {
            "type": "string",
            "description": "Language code for the agent's speech and understanding",
            "example": "en-US"
          },
          "patienceLevel": {
            "type": "string",
            "description": "Current tolerance level for caller response delays",
            "example": "medium"
          },
          "maxCallDuration": {
            "type": "number",
            "description": "Maximum call duration in seconds, between 180-900",
            "example": 600,
            "minimum": 180,
            "maximum": 900
          },
          "sendUserIdleReminders": {
            "type": "boolean",
            "description": "Indicates whether automatic idle reminders are enabled",
            "example": true
          },
          "reminderAfterIdleTimeSeconds": {
            "type": "number",
            "description": "Seconds to wait before sending idle reminders, between 1-20",
            "example": 5,
            "minimum": 1,
            "maximum": 20
          },
          "inboundNumber": {
            "type": "string",
            "description": "Phone number for receiving inbound calls",
            "example": "+1234567890"
          },
          "numberPoolId": {
            "type": "string",
            "description": "Identifier for the number pool managing this agent's phone allocation",
            "example": "pool_507f1f77bcf86cd799439011"
          },
          "callEndWorkflowIds": {
            "description": "Array of workflow IDs triggered automatically when calls end",
            "example": [],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sendPostCallNotificationTo": {
            "description": "Current post-call notification settings including recipient configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_SendPostCallNotificationSchema"
              }
            ]
          },
          "agentWorkingHours": {
            "description": "Time intervals when the agent accepts calls, organized by day of week",
            "example": [],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_AgentWorkingHoursDTO"
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone identifier for working hours and scheduling",
            "example": "America/New_York"
          },
          "isAgentAsBackupDisabled": {
            "type": "boolean",
            "description": "Indicates whether this agent is excluded from backup scenarios",
            "example": false
          },
          "translation": {
            "description": "Current language translation settings including enablement status and target language",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_TranslationSchema"
              }
            ]
          },
          "actions": {
            "description": "Raw actions configured for this agent with complete actionParameters structure",
            "example": [
              {
                "_id": "507f1f77bcf86cd799439011",
                "actionType": "CALL_TRANSFER",
                "name": "Transfer to Manager",
                "actionParameters": {
                  "triggerPrompt": "When caller asks for manager",
                  "triggerMessage": "Let me transfer you",
                  "transferToType": "number",
                  "transferToValue": "+1234567890"
                }
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_AgentActionResponseDTO"
            }
          }
        },
        "required": [
          "id",
          "locationId",
          "agentName",
          "businessName",
          "welcomeMessage",
          "agentPrompt",
          "voiceId",
          "language",
          "patienceLevel",
          "maxCallDuration",
          "sendUserIdleReminders",
          "reminderAfterIdleTimeSeconds",
          "timezone",
          "isAgentAsBackupDisabled",
          "actions"
        ]
      },
      "voice_ai_GetAgentsResponseDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 150
          },
          "page": {
            "type": "number",
            "description": "Page number starting from 1",
            "example": 2
          },
          "pageSize": {
            "type": "number",
            "description": "Number of items per page",
            "example": 10
          },
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_GetAgentResponseDTO"
            }
          }
        },
        "required": [
          "total",
          "page",
          "pageSize",
          "agents"
        ]
      },
      "voice_ai_CallTransferActionParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to trigger this action during the call",
            "example": "When the caller asks to speak to a manager"
          },
          "transferToType": {
            "type": "string",
            "description": "Type of transfer destination (currently only \"number\" is supported)",
            "enum": [
              "number"
            ],
            "example": "number"
          },
          "transferToValue": {
            "type": "string",
            "description": "Phone number to transfer to. Must start with +, include country code, contain only numbers, and be 11-16 characters long (e.g., +12345678901).",
            "example": "+12345678901"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller before transferring",
            "example": "Let me transfer you to a manager right away"
          },
          "hearWhisperMessage": {
            "type": "boolean",
            "description": "Whether to play whisper message to the receiving party",
            "example": true
          }
        },
        "required": [
          "triggerPrompt",
          "transferToType",
          "transferToValue",
          "triggerMessage"
        ]
      },
      "voice_ai_DataExtractionActionParameters": {
        "type": "object",
        "properties": {
          "contactFieldId": {
            "type": "string",
            "description": "ID of the contact field to be updated with the extracted data",
            "example": "507f1f77bcf86cd799439011"
          },
          "description": {
            "type": "string",
            "description": "Description of what data to extract",
            "example": "Caller's phone number"
          },
          "examples": {
            "description": "Example values to help Agent understand the expected format. At least one example is required, maximum 5 examples allowed.",
            "example": [
              "+1234567890",
              "+9876543210"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "overwriteExistingValue": {
            "type": "boolean",
            "description": "Whether to overwrite existing field value if already set, default is false",
            "example": false,
            "default": false
          }
        },
        "required": [
          "contactFieldId",
          "description",
          "examples"
        ]
      },
      "voice_ai_InCallDataExtractionActionParameters": {
        "type": "object",
        "properties": {
          "contactFieldId": {
            "type": "string",
            "description": "ID of the contact field to be updated with the extracted data",
            "example": "507f1f77bcf86cd799439011"
          },
          "description": {
            "type": "string",
            "description": "Description of what data to extract",
            "example": "Caller's phone number"
          },
          "examples": {
            "description": "Example values to help Agent understand the expected format. At least one example is required, maximum 5 examples allowed.",
            "example": [
              "+1234567890",
              "+9876543210"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "overwriteExistingValue": {
            "type": "boolean",
            "description": "Whether to overwrite existing field value if already set, default is false",
            "example": false,
            "default": false
          }
        },
        "required": [
          "contactFieldId",
          "description",
          "examples"
        ]
      },
      "voice_ai_WorkflowTriggerParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to trigger this workflow",
            "example": "When caller requests a quote"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller",
            "example": "Let me start that process for you"
          },
          "workflowId": {
            "type": "string",
            "description": "Workflow ID to trigger",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "triggerPrompt",
          "triggerMessage",
          "workflowId"
        ]
      },
      "voice_ai_SMSParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to send the SMS",
            "example": "When caller asks for booking confirmation"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller",
            "example": "I'll send you a confirmation text"
          },
          "messageBody": {
            "type": "string",
            "description": "SMS message content to send",
            "example": "Your appointment is confirmed for tomorrow at 2 PM"
          }
        },
        "required": [
          "triggerPrompt",
          "triggerMessage",
          "messageBody"
        ]
      },
      "voice_ai_AppointmentBookingActionParameters": {
        "type": "object",
        "properties": {
          "calendarId": {
            "type": "string",
            "description": "Calendar ID to book appointments in",
            "example": "507f1f77bcf86cd799439011"
          },
          "daysOfOfferingDates": {
            "type": "number",
            "description": "Number of days ahead to offer booking dates",
            "example": 3
          },
          "slotsPerDay": {
            "type": "number",
            "description": "Number of available slots per day",
            "example": 3
          },
          "hoursBetweenSlots": {
            "type": "number",
            "description": "Hours between available slots",
            "example": 1
          }
        },
        "required": [
          "calendarId",
          "daysOfOfferingDates",
          "slotsPerDay",
          "hoursBetweenSlots"
        ]
      },
      "voice_ai_CustomActionHeaderDTO": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "HTTP header name",
            "example": "id"
          },
          "value": {
            "type": "string",
            "description": "HTTP header value",
            "example": "1234567890"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "voice_ai_CustomActionParameterDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name",
            "example": "orderId"
          },
          "description": {
            "type": "string",
            "description": "Parameter description",
            "example": "Order ID to look up"
          },
          "type": {
            "type": "string",
            "description": "Parameter type",
            "example": "string"
          },
          "example": {
            "type": "string",
            "description": "Example parameter value",
            "example": "ORD-12345"
          }
        },
        "required": [
          "name"
        ]
      },
      "voice_ai_CustomActionApiDetailsDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "API endpoint URL",
            "example": "https://api.example.com/orders"
          },
          "method": {
            "type": "string",
            "description": "HTTP method",
            "example": "GET",
            "enum": [
              "POST",
              "GET"
            ]
          },
          "authenticationRequired": {
            "type": "boolean",
            "description": "Whether authentication is required",
            "example": true
          },
          "authenticationValue": {
            "type": "string",
            "description": "Authentication token or API key (required if authenticationRequired is true)",
            "example": "token123"
          },
          "headers": {
            "description": "HTTP headers to include",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_CustomActionHeaderDTO"
            }
          },
          "parameters": {
            "description": "API parameters to send",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_CustomActionParameterDTO"
            }
          }
        },
        "required": [
          "url",
          "method"
        ]
      },
      "voice_ai_CustomActionParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to call the custom API",
            "example": "When caller provides order number"
          },
          "triggerMessage": {
            "type": "string",
            "description": "Message to tell the caller",
            "example": "Let me check that order status"
          },
          "apiDetails": {
            "description": "API endpoint configuration",
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionApiDetailsDTO"
              }
            ]
          },
          "selectedPaths": {
            "description": "Selected response paths to extract from API response. Required: at least 1 value if the method is GET. Should be empty if the method is POST.",
            "example": [
              "data.orderId",
              "status"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "triggerPrompt",
          "triggerMessage",
          "apiDetails"
        ]
      },
      "voice_ai_KnowledgeBaseParameters": {
        "type": "object",
        "properties": {
          "triggerPrompt": {
            "type": "string",
            "description": "When to query the knowledge base",
            "example": "When caller asks about pricing"
          },
          "knowledgeBaseId": {
            "type": "string",
            "description": "Knowledge base ID to query",
            "example": "507f1f77bcf86cd799439011"
          }
        },
        "required": [
          "triggerPrompt",
          "knowledgeBaseId"
        ]
      },
      "voice_ai_CallActionSchema": {
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "description": "Action ID reference",
            "example": "507f1f77bcf86cd799439015"
          },
          "actionType": {
            "type": "string",
            "description": "Action type",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "SMS"
          },
          "actionName": {
            "type": "string",
            "description": "Action name",
            "example": "Send SMS Confirmation"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "sms": {
                "summary": "SMS Action Parameters",
                "value": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Customer's email address",
                  "examples": [
                    "john@example.com",
                    "jane@company.com"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439020"
                }
              },
              "appointmentBooking": {
                "summary": "Appointment Booking Action Parameters",
                "value": {
                  "calendarId": "507f1f77bcf86cd799439022",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                }
              },
              "customAction": {
                "summary": "Custom Action Parameters",
                "value": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                }
              },
              "knowledgeBase": {
                "summary": "Knowledge Base Action Parameters",
                "value": {
                  "triggerPrompt": "When caller asks about pricing",
                  "triggerMessage": "Let me look that up for you",
                  "knowledgeBaseId": "507f1f77bcf86cd799439027",
                  "parameters": [
                    {
                      "name": "category",
                      "description": "Product category to search",
                      "type": "string",
                      "example": "pricing"
                    }
                  ]
                }
              }
            }
          },
          "executedAt": {
            "format": "date-time",
            "type": "string",
            "description": "When the action was executed",
            "example": "2024-01-15T10:32:00.000Z"
          },
          "triggerReceivedAt": {
            "format": "date-time",
            "type": "string",
            "description": "When the trigger was received",
            "example": "2024-01-15T10:31:45.000Z"
          }
        },
        "required": [
          "actionType",
          "actionName"
        ]
      },
      "voice_ai_ExtractedDataSchema": {
        "type": "object",
        "properties": {}
      },
      "voice_ai_CallLogDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the call",
            "example": "507f1f77bcf86cd799439011"
          },
          "contactId": {
            "type": "string",
            "description": "Associated contact ID",
            "example": "507f1f77bcf86cd799439012"
          },
          "agentId": {
            "type": "string",
            "description": "Agent ID associated with the call",
            "example": "507f1f77bcf86cd799439013"
          },
          "isAgentDeleted": {
            "type": "boolean",
            "description": "Whether the agent is deleted",
            "example": false
          },
          "fromNumber": {
            "type": "string",
            "description": "Caller phone number",
            "example": "+1234567890"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "description": "Timestamp when the call was created",
            "example": "2024-01-15T10:30:00.000Z"
          },
          "duration": {
            "type": "number",
            "description": "Call duration in seconds",
            "example": 180
          },
          "trialCall": {
            "type": "boolean",
            "description": "Whether this call was a trial call",
            "example": false
          },
          "executedCallActions": {
            "description": "Actions performed during the call. Note: The APPOINTMENT_BOOKING action will only be visible in executedCallActions from Sep 9th 2025.",
            "example": [
              {
                "actionId": "507f1f77bcf86cd799439015",
                "actionType": "CALL_TRANSFER",
                "actionName": "Transfer to Manager",
                "actionParameters": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                },
                "executedAt": "2024-01-15T10:32:00.000Z",
                "triggerReceivedAt": "2024-01-15T10:31:45.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439016",
                "actionType": "SMS",
                "actionName": "Send Confirmation SMS",
                "actionParameters": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                },
                "executedAt": "2024-01-15T10:33:30.000Z",
                "triggerReceivedAt": "2024-01-15T10:33:15.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439017",
                "actionType": "DATA_EXTRACTION",
                "actionName": "Extract Phone Number",
                "actionParameters": {
                  "contactFieldId": "507f1f77bcf86cd799439018",
                  "description": "Customer's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                },
                "executedAt": "2024-01-15T10:34:15.000Z",
                "triggerReceivedAt": "2024-01-15T10:34:00.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439019",
                "actionType": "WORKFLOW_TRIGGER",
                "actionName": "Start Follow-up Workflow",
                "actionParameters": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439020"
                },
                "executedAt": "2024-01-15T10:35:00.000Z",
                "triggerReceivedAt": "2024-01-15T10:34:45.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439021",
                "actionType": "APPOINTMENT_BOOKING",
                "actionName": "Book Consultation",
                "actionParameters": {
                  "calendarId": "507f1f77bcf86cd799439022",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                },
                "executedAt": "2024-01-15T10:36:45.000Z",
                "triggerReceivedAt": "2024-01-15T10:36:30.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439023",
                "actionType": "CUSTOM_ACTION",
                "actionName": "Check Order Status",
                "actionParameters": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                },
                "executedAt": "2024-01-15T10:37:20.000Z",
                "triggerReceivedAt": "2024-01-15T10:37:05.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439024",
                "actionType": "IN_CALL_DATA_EXTRACTION",
                "actionName": "Extract Email During Call",
                "actionParameters": {
                  "contactFieldId": "507f1f77bcf86cd799439025",
                  "description": "Customer's email address",
                  "examples": [
                    "john@example.com",
                    "jane@company.com"
                  ],
                  "overwriteExistingValue": true
                },
                "executedAt": "2024-01-15T10:31:45.000Z",
                "triggerReceivedAt": "2024-01-15T10:31:30.000Z"
              },
              {
                "actionId": "507f1f77bcf86cd799439026",
                "actionType": "KNOWLEDGE_BASE",
                "actionName": "Query Product Info",
                "actionParameters": {
                  "triggerPrompt": "When caller asks about pricing",
                  "triggerMessage": "Let me look that up for you",
                  "knowledgeBaseId": "507f1f77bcf86cd799439027",
                  "parameters": [
                    {
                      "name": "category",
                      "description": "Product category to search",
                      "type": "string",
                      "example": "pricing"
                    }
                  ]
                },
                "executedAt": "2024-01-15T10:38:10.000Z",
                "triggerReceivedAt": "2024-01-15T10:37:55.000Z"
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_CallActionSchema"
            }
          },
          "summary": {
            "type": "string",
            "description": "Call summary",
            "example": "Customer called to inquire about product pricing and was transferred to sales team."
          },
          "transcript": {
            "type": "string",
            "description": "Call transcript",
            "example": "bot: Hello, how can I help you today?\nhuman: I would like to know about your pricing..."
          },
          "translation": {
            "description": "Transcript translation details",
            "example": {
              "translatedTranscript": "Translated version of the call transcript"
            },
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_TranslationSchema"
              }
            ]
          },
          "extractedData": {
            "description": "Dynamic data extracted from the call based on agent configuration",
            "example": {
              "phoneNumber": "+1234567890",
              "customerName": "John Doe",
              "email": "john.doe@example.com",
              "companyName": "Acme Corp",
              "customField1": "Custom value",
              "customField2": "Another value"
            },
            "additionalProperties": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/voice_ai_ExtractedDataSchema"
              }
            ]
          },
          "messageId": {
            "type": "string",
            "description": "Message identifier associated with the call",
            "example": "507f1f77bcf86cd799439014"
          }
        },
        "required": [
          "id",
          "agentId",
          "isAgentDeleted",
          "createdAt",
          "duration",
          "trialCall",
          "executedCallActions",
          "summary",
          "transcript"
        ]
      },
      "voice_ai_CallLogsResponseDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total number of items",
            "example": 150
          },
          "page": {
            "type": "number",
            "description": "Page number starting from 1",
            "example": 2
          },
          "pageSize": {
            "type": "number",
            "description": "Number of items per page",
            "example": 10
          },
          "callLogs": {
            "description": "Array of call logs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/voice_ai_CallLogDTO"
            }
          }
        },
        "required": [
          "total",
          "page",
          "pageSize",
          "callLogs"
        ]
      },
      "voice_ai_CreateSingleActionDTO": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "description": "Agent ID to attach the action to",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "507f1f77bcf86cd799439012"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              },
              "sms": {
                "summary": "SMS Action",
                "value": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                }
              },
              "appointmentBooking": {
                "summary": "Appointment Booking Action",
                "value": {
                  "calendarId": "507f1f77bcf86cd799439011",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                }
              },
              "customAction": {
                "summary": "Custom Action",
                "value": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                }
              },
              "knowledgeBase": {
                "summary": "Knowledge Base Action",
                "value": {
                  "triggerPrompt": "When caller asks about pricing",
                  "knowledgeBaseId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "agentId",
          "locationId",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_CreateActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_UpdateSingleActionDTO": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "description": "Agent ID to attach the action to",
            "example": "507f1f77bcf86cd799439011"
          },
          "locationId": {
            "type": "string",
            "description": "Location ID",
            "example": "507f1f77bcf86cd799439012"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              },
              "sms": {
                "summary": "SMS Action",
                "value": {
                  "triggerPrompt": "When caller asks for booking confirmation",
                  "triggerMessage": "I'll send you a confirmation text",
                  "messageBody": "Your appointment is confirmed for tomorrow at 2 PM"
                }
              },
              "appointmentBooking": {
                "summary": "Appointment Booking Action",
                "value": {
                  "calendarId": "507f1f77bcf86cd799439011",
                  "daysOfOfferingDates": 3,
                  "slotsPerDay": 3,
                  "hoursBetweenSlots": 1
                }
              },
              "customAction": {
                "summary": "Custom Action",
                "value": {
                  "triggerPrompt": "When caller provides order number",
                  "triggerMessage": "Let me check that order status",
                  "apiDetails": {
                    "url": "https://api.example.com/orders",
                    "method": "GET",
                    "authenticationRequired": true,
                    "authenticationValue": "token123",
                    "headers": [
                      {
                        "key": "Content-Type",
                        "value": "application/json"
                      }
                    ],
                    "parameters": [
                      {
                        "name": "orderId",
                        "description": "Order ID to look up",
                        "type": "string",
                        "example": "ORD-12345"
                      }
                    ]
                  },
                  "responsePathsToExtract": [
                    "data.orderId",
                    "status"
                  ]
                }
              },
              "knowledgeBase": {
                "summary": "Knowledge Base Action",
                "value": {
                  "triggerPrompt": "When caller asks about pricing",
                  "knowledgeBaseId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "agentId",
          "locationId",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_UpdateActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the created action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "voice_ai_GetActionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the action",
            "example": "507f1f77bcf86cd799439011"
          },
          "actionType": {
            "type": "string",
            "description": "Type of action",
            "enum": [
              "CALL_TRANSFER",
              "DATA_EXTRACTION",
              "IN_CALL_DATA_EXTRACTION",
              "WORKFLOW_TRIGGER",
              "SMS",
              "APPOINTMENT_BOOKING",
              "CUSTOM_ACTION",
              "KNOWLEDGE_BASE"
            ],
            "example": "CALL_TRANSFER"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this action",
            "example": "Transfer to Manager"
          },
          "actionParameters": {
            "description": "Action parameters - structure varies by actionType",
            "oneOf": [
              {
                "$ref": "#/components/schemas/voice_ai_CallTransferActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_DataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_InCallDataExtractionActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_WorkflowTriggerParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_SMSParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_AppointmentBookingActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_CustomActionParameters"
              },
              {
                "$ref": "#/components/schemas/voice_ai_KnowledgeBaseParameters"
              }
            ],
            "examples": {
              "callTransfer": {
                "summary": "Call Transfer Action Parameters",
                "value": {
                  "transferToType": "number",
                  "transferToValue": "+12345678901",
                  "triggerMessage": "Let me transfer you to a manager right away",
                  "hearWhisperMessage": true
                }
              },
              "dataExtraction": {
                "summary": "Data Extraction Action Parameters",
                "value": {
                  "contactFieldId": "507f1f77bcf86cd799439011",
                  "description": "Caller's phone number",
                  "examples": [
                    "+1234567890",
                    "+9876543210"
                  ],
                  "overwriteExistingValue": false
                }
              },
              "workflowTrigger": {
                "summary": "Workflow Trigger Action Parameters",
                "value": {
                  "triggerPrompt": "When caller requests a quote",
                  "triggerMessage": "Let me start that process for you",
                  "workflowId": "507f1f77bcf86cd799439011"
                }
              }
            }
          }
        },
        "required": [
          "id",
          "actionType",
          "name",
          "actionParameters"
        ]
      },
      "workflows_WorkflowSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "78559bb3-b920-461e-b010-7b2a2816d2a9"
          },
          "name": {
            "type": "string",
            "example": "First Workflow"
          },
          "status": {
            "type": "string",
            "example": "draft"
          },
          "version": {
            "type": "number",
            "example": 2
          },
          "createdAt": {
            "type": "string",
            "example": "2021-05-26T11:33:49.000Z"
          },
          "updatedAt": {
            "type": "string",
            "example": "2021-05-26T11:33:49.000Z"
          },
          "locationId": {
            "type": "string",
            "example": "eBG6WapS3v4ZqwA45MTxtYJ"
          }
        }
      },
      "workflows_GetWorkflowSuccessfulResponseDto": {
        "type": "object",
        "properties": {
          "workflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/workflows_WorkflowSchema"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "ad_manager_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "ad_manager_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "ad_manager_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "ad_manager_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "ad_manager_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "affiliate_manager_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "affiliate_manager_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "affiliate_manager_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "affiliate_manager_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "affiliate_manager_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "agent_studio_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "agent_studio_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "agent_studio_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "agent_studio_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "agent_studio_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "associations_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "associations_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "associations_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "associations_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "blogs_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "blogs_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "blogs_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "brand_boards_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "brand_boards_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "brand_boards_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "brand_boards_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "brand_boards_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "businesses_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "businesses_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "businesses_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "businesses_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "calendars_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "calendars_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "calendars_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "calendars_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "calendars_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "campaigns_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "campaigns_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "campaigns_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "campaigns_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "companies_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "companies_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "companies_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "companies_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "companies_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "contacts_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "contacts_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "contacts_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "contacts_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "contacts_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "conversation_ai_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversation_ai_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversation_ai_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "conversation_ai_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "conversation_ai_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "conversations_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversations_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversations_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "conversations_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "conversations_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "courses_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "courses_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "courses_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "custom_fields_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_fields_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_fields_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "custom_fields_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "custom_menus_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_menus_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_menus_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "custom_menus_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "email_isv_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "email_isv_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "email_isv_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "emails_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "emails_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "emails_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "emails_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "forms_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "forms_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "forms_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "funnels_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "funnels_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "funnels_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "invoices_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "invoices_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "invoices_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "invoices_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "invoices_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "knowledge_base_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "knowledge_base_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "knowledge_base_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "links_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "links_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "links_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "links_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "locations_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "locations_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "locations_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "locations_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "marketplace_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "marketplace_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "marketplace_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "marketplace_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "marketplace_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "medias_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "medias_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "medias_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "medias_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "oauth_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "oauth_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "oauth_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "oauth_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "oauth_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "objects_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "objects_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "objects_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "objects_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "opportunities_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "opportunities_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "opportunities_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "opportunities_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "opportunities_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "payments_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "payments_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "payments_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "payments_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "payments_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "phone_system_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "phone_system_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "phone_system_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "phone_system_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "products_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "products_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "products_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "products_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "products_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "proposals_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "proposals_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "proposals_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "proposals_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "saas_api_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "token-id",
        "in": "header",
        "description": "Use the Access Token generated by exchanging API Key for token id",
        "type": "http"
      },
      "saas_api_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Location",
        "type": "http"
      },
      "saas_api_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Company",
        "type": "http"
      },
      "snapshots_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Location (OR) Personal Integration Token from Location.",
        "type": "http"
      },
      "snapshots_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Location (OR) Personal Integration Token from Location.",
        "type": "http"
      },
      "snapshots_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Personal Integration Token from Agency.",
        "type": "http"
      },
      "social_media_posting_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "social_media_posting_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "social_media_posting_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "store_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "store_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "store_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "surveys_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "surveys_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "surveys_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "users_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "users_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "users_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "users_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "users_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "ad_publishing_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "ad_publishing_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "ad_publishing_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "ad_publishing_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "ad_publishing_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "affiliate_manager_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "affiliate_manager_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "affiliate_manager_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "affiliate_manager_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "affiliate_manager_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "agent_studio_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "agent_studio_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "agent_studio_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "agent_studio_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "agent_studio_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "associations_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "associations_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "associations_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "associations_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "blogs_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "blogs_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "blogs_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "brand_boards_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "brand_boards_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "brand_boards_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "brand_boards_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "brand_boards_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "businesses_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "businesses_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "businesses_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "businesses_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "calendars_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "calendars_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "calendars_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "calendars_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "calendars_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "campaigns_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "campaigns_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "campaigns_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "campaigns_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "chat_widget_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "chat_widget_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "chat_widget_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "chat_widget_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "chat_widget_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "companies_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "companies_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "companies_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "companies_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "contacts_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "contacts_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "contacts_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "contacts_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "contacts_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "conversation_ai_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversation_ai_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversation_ai_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "conversation_ai_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "conversation_ai_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "conversations_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversations_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "conversations_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "conversations_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "conversations_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "courses_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "courses_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "courses_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "custom_fields_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_fields_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_fields_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "custom_fields_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "custom_menus_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_menus_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "custom_menus_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "custom_menus_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "email_isv_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "email_isv_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "email_isv_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "email_isv_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "email_isv_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "emails_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "emails_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "emails_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "emails_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "emails_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "forms_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "forms_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "forms_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "funnels_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "funnels_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "funnels_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "invoices_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "invoices_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "invoices_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "invoices_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "invoices_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "knowledge_base_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "knowledge_base_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "knowledge_base_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "links_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "links_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "links_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "links_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "locations_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "locations_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "locations_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "locations_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "marketplace_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "marketplace_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "marketplace_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "marketplace_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "marketplace_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "medias_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "medias_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "medias_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "medias_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "oauth_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "oauth_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "oauth_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "oauth_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "oauth_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "objects_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "objects_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "objects_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "objects_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "opportunities_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "opportunities_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "opportunities_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "opportunities_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "opportunities_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "payments_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "payments_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "payments_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "payments_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "payments_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "phone_system_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "phone_system_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "phone_system_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "phone_system_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "phone_system_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "products_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "products_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "products_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "products_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "products_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "proposals_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "proposals_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "proposals_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "proposals_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "saas_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "token-id",
        "in": "header",
        "description": "Use the Access Token generated by exchanging API Key for token id",
        "type": "http"
      },
      "saas_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Location",
        "type": "http"
      },
      "saas_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Company",
        "type": "http"
      },
      "snapshots_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Location (OR) Personal Integration Token from Location.",
        "type": "http"
      },
      "snapshots_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Location (OR) Personal Integration Token from Location.",
        "type": "http"
      },
      "snapshots_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Personal Integration Token from Agency.",
        "type": "http"
      },
      "social_planner_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "social_planner_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "social_planner_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "store_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "store_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "store_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "surveys_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "surveys_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "surveys_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "users_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "users_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "users_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "users_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "users_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "voice_ai_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "voice_ai_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "voice_ai_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "voice_ai_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "voice_ai_v3_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "workflows_v3_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "workflows_v3_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "workflows_v3_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "workflows_v3_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "voice_ai_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "voice_ai_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "voice_ai_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "voice_ai_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "voice_ai_Agency-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency.",
        "type": "http"
      },
      "workflows_bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "workflows_Location-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.",
        "type": "http"
      },
      "workflows_Location-Access-Only": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Sub-Account.",
        "type": "http"
      },
      "workflows_Agency-Access": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "name": "Authorization",
        "in": "header",
        "description": "Use the Access Token generated with user type as Agency (OR) Private Integration Token of Agency.",
        "type": "http"
      },
      "bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "OAuth 2.0 access token o Private Integration Token (PIT)"
      }
    },
    "parameters": {},
    "responses": {},
    "requestBodies": {},
    "headers": {},
    "examples": {}
  },
  "tags": [
    {
      "name": "Account",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Actions",
      "description": "Documentation for Voice AI API"
    },
    {
      "name": "affiliate-manager",
      "description": "Documentation for Affiliate Manager API"
    },
    {
      "name": "Affiliates",
      "description": "Documentation for Affiliate Manager API"
    },
    {
      "name": "Agents",
      "description": "Documentation for Voice AI API"
    },
    {
      "name": "AI-Employees",
      "description": "Documentation for AI Employees API"
    },
    {
      "name": "App Billing Management",
      "description": "Documentation for Marketplace API"
    },
    {
      "name": "App Management",
      "description": "Documentation for Marketplace API"
    },
    {
      "name": "Appointment Notes",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Appointments",
      "description": "Documentation for Contacts API"
    },
    {
      "name": "Associations",
      "description": "Documentation for Associations API"
    },
    {
      "name": "Availability",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Blogs",
      "description": "Documentation for Blogs"
    },
    {
      "name": "Brand Boards",
      "description": "Documentation for Brand Boards API"
    },
    {
      "name": "Brand Voices",
      "description": "Documentation for Brand Boards API"
    },
    {
      "name": "Bulk",
      "description": "Documentation for Contacts API"
    },
    {
      "name": "Businesses",
      "description": "Documentation for business API"
    },
    {
      "name": "Calendar Events",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Calendar Groups",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Calendar Notifications",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Calendar Resources: Rooms & Equipments",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Calendars",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Campaigns",
      "description": "Documentation for emails API"
    },
    {
      "name": "Campaigns V2",
      "description": "Documentation for emails API"
    },
    {
      "name": "Category",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Category Queue",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Chat Widget",
      "description": "Documentation for Chat Widget API"
    },
    {
      "name": "Collections",
      "description": "Documentation for products API"
    },
    {
      "name": "Comments",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Commissions",
      "description": "Documentation for Affiliate Manager API"
    },
    {
      "name": "Companies",
      "description": "Documentation for Companies API"
    },
    {
      "name": "Contacts",
      "description": "Documentation for Contacts API"
    },
    {
      "name": "contracts",
      "description": "Documentation for Documents and Contracts API"
    },
    {
      "name": "Conversation Channel",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Conversations",
      "description": "Documentation for Conversations API"
    },
    {
      "name": "Coupons",
      "description": "Documentation for payments API"
    },
    {
      "name": "Courses",
      "description": "API Service for Courses and Memberships"
    },
    {
      "name": "CSV",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Custom Field",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Custom Field Search",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Custom Fields V2",
      "description": "Custom fields are data points that allow you to capture and store specific information tailored to your business requirements. You can create fields across field types like text, numeric, selection options and special fields like date/time or signature"
    },
    {
      "name": "Custom Menu Links",
      "description": "Documentation for Custom menus API"
    },
    {
      "name": "Custom Objects Schema",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Custom Provider",
      "description": "Documentation for payments API"
    },
    {
      "name": "Custom Value",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "CUSTOM_FIELDS",
      "description": "Custom fields are data points that allow you to capture and store specific information tailored to your business requirements. You can create fields across field types like text, numeric, selection options and special fields like date/time or signature"
    },
    {
      "name": "custom-menus",
      "description": "Documentation for Custom menus API"
    },
    {
      "name": "Customer Access Center",
      "description": "Documentation for store API"
    },
    {
      "name": "Dashboard",
      "description": "Documentation for Voice AI API"
    },
    {
      "name": "documents",
      "description": "Documentation for Documents and Contracts API"
    },
    {
      "name": "Documents",
      "description": "Documentation for Documents and Contracts API"
    },
    {
      "name": "ElasticSearch",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Email",
      "description": "Documentation for Conversations API"
    },
    {
      "name": "Email Verification",
      "description": "Documentation for Email ISV API"
    },
    {
      "name": "email-isv",
      "description": "Documentation for Email ISV API"
    },
    {
      "name": "Emails",
      "description": "Documentation for emails API"
    },
    {
      "name": "Estimate",
      "description": "Documentation for invoice API"
    },
    {
      "name": "Export",
      "description": "Documentation for Opportunities API"
    },
    {
      "name": "External Auth Migration",
      "description": "Documentation for Marketplace API"
    },
    {
      "name": "Facebook Ads",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Facebook Integration",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Facebook Reporting",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Faqs",
      "description": "Documentation for Knowledge Base API"
    },
    {
      "name": "Followers",
      "description": "Documentation for Opportunities API"
    },
    {
      "name": "Forms",
      "description": "Documentation for forms API"
    },
    {
      "name": "Funnel",
      "description": "Documentation for funnels API"
    },
    {
      "name": "Generations",
      "description": "Documentation for AI Employees API"
    },
    {
      "name": "Google Ads",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Google Integration",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Google Reporting",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Integrations",
      "description": "Documentation for payments API"
    },
    {
      "name": "Invoice",
      "description": "Documentation for invoice API"
    },
    {
      "name": "Knowledge Base",
      "description": "Documentation for Knowledge Base API"
    },
    {
      "name": "Labs",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "phone",
      "description": "API Service for CRM Phone"
    },
    {
      "name": "LinkedIn Ads",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "LinkedIn Integration",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "LinkedIn Reporting",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Location",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Location Keys",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Location Notes",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Location Search",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Location Tags",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Location Tasks",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Lost reason",
      "description": "Documentation for Opportunities API"
    },
    {
      "name": "Marketplace",
      "description": "Documentation for Marketplace API"
    },
    {
      "name": "Medias",
      "description": "Documentation for Files API"
    },
    {
      "name": "Messages",
      "description": "Documentation for Conversations API"
    },
    {
      "name": "Notes",
      "description": "Documentation for Contacts API"
    },
    {
      "name": "Number Pools",
      "description": "Documentation for number pools management"
    },
    {
      "name": "Oauth | Facebook",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "OAuth | Generic",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Oauth | Google",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Oauth | Instagram",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Oauth | LinkedIn",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Oauth | Tiktok",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Oauth | Twitter",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "OAuth 2.0",
      "description": "Documentation for OAuth 2.0 API"
    },
    {
      "name": "Object Schema",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Opportunities",
      "description": "Documentation for Opportunities API"
    },
    {
      "name": "Order fulfillments",
      "description": "Documentation for payments API"
    },
    {
      "name": "Order Notes",
      "description": "Documentation for payments API"
    },
    {
      "name": "Orders",
      "description": "Documentation for payments API"
    },
    {
      "name": "Payments",
      "description": "Documentation for payments API"
    },
    {
      "name": "Payouts",
      "description": "Documentation for Affiliate Manager API"
    },
    {
      "name": "Permissions",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Phone Numbers",
      "description": "Documentation for phone numbers management"
    },
    {
      "name": "Pipelines",
      "description": "Documentation for Opportunities API"
    },
    {
      "name": "Pipiline Search",
      "description": "Documentation for Opportunities API"
    },
    {
      "name": "Post",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Preference Management",
      "description": "Documentation for Conversations API"
    },
    {
      "name": "Prices",
      "description": "Documentation for products API"
    },
    {
      "name": "Products",
      "description": "Documentation for products API"
    },
    {
      "name": "proposals",
      "description": "Documentation for Documents and Contracts API"
    },
    {
      "name": "Proposals",
      "description": "Documentation for Documents and Contracts API"
    },
    {
      "name": "Providers",
      "description": "Documentation for Conversations API"
    },
    {
      "name": "Records",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Recurring Tasks",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Redirect",
      "description": "Documentation for funnels API"
    },
    {
      "name": "Relations",
      "description": "Documentation for Associations API"
    },
    {
      "name": "Reselling",
      "description": "Documentation for Ad-publishing API"
    },
    {
      "name": "Reviews",
      "description": "Documentation for products API"
    },
    {
      "name": "Saas",
      "description": "API Service for SaaS"
    },
    {
      "name": "Schedule",
      "description": "Documentation for invoice API"
    },
    {
      "name": "Search",
      "description": "Documentation for users API"
    },
    {
      "name": "Search Object Records",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Service Bookings",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Service Locations",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Services",
      "description": "Documentation for Calendars API"
    },
    {
      "name": "Shipping Carrier",
      "description": "Documentation for store API"
    },
    {
      "name": "Shipping Zone",
      "description": "Documentation for store API"
    },
    {
      "name": "Shipping Zone Rates",
      "description": "Documentation for store API"
    },
    {
      "name": "Snapshots",
      "description": "Documentation for Snapshots API"
    },
    {
      "name": "Statistics",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Statistics V2",
      "description": "Documentation for emails API"
    },
    {
      "name": "Store",
      "description": "Documentation for store API"
    },
    {
      "name": "Store Setting",
      "description": "Documentation for store API"
    },
    {
      "name": "Sub-Account (Formerly Location)",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Subscriptions",
      "description": "Documentation for payments API"
    },
    {
      "name": "Surveys",
      "description": "Documentation for surveys API"
    },
    {
      "name": "Tag",
      "description": "Documentation for Social Media Posting API"
    },
    {
      "name": "Tags",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Tags Search",
      "description": "Documentation for Sub-Account (Formerly location) API"
    },
    {
      "name": "Tasks",
      "description": "Documentation for Contacts API"
    },
    {
      "name": "Tasks Search",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Template",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Templates",
      "description": "Documentation for Documents and Contracts API"
    },
    {
      "name": "Templates V2",
      "description": "Documentation for emails API"
    },
    {
      "name": "Text2Pay",
      "description": "Documentation for invoice API"
    },
    {
      "name": "Timezone",
      "description": "Custom objects are completely customizable objects that allow you to store and manage information tailored to your unique business needs. With custom objects, you can create custom fields, establish relationships, and integrate them into workflows, providing flexibility beyond standard objects like Contacts, Opportunities or Companies."
    },
    {
      "name": "Transactions",
      "description": "Documentation for payments API"
    },
    {
      "name": "Trigger Links",
      "description": "Documentation for links API"
    },
    {
      "name": "Trigger Links Redirection",
      "description": "Documentation for links API"
    },
    {
      "name": "Trigger Links Search",
      "description": "Documentation for links API"
    },
    {
      "name": "Triggers",
      "description": "Documentation for emails API"
    },
    {
      "name": "Users",
      "description": "Documentation for users API"
    },
    {
      "name": "Voice-AI",
      "description": "Documentation for Voice AI API"
    },
    {
      "name": "Wallet Charges",
      "description": "Documentation for Marketplace API"
    },
    {
      "name": "Web Crawler",
      "description": "Documentation for Knowledge Base API"
    },
    {
      "name": "Workflow",
      "description": "Documentation for Contacts API"
    },
    {
      "name": "Workflows",
      "description": "Documentation for workflows API"
    }
  ],
  "security": [
    {
      "bearer": []
    }
  ]
}