{
  "openapi": "3.0.1",
  "info": {
    "title": "OktoRocket Partner API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://okto-partner-api.oktorocket.io",
      "description": "Partner API gateway"
    }
  ],
  "paths": {
    "/v1/analytics/ro-summary": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Repair-order financial totals for a site over an inclusive date range (read:repair-orders):\r\nRO count, sales, gross profit, labor/parts sales and cost, billed hours, ARO, close ratio,\r\neffective labor rate. viewType = complete (default) | all | wip | month;\r\nbreakdown = none (default) | advisor | tech. Matches the dashboard RO-overview report.",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "viewType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "breakdown",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoSummaryResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/analytics/goal-vs-actual": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Monthly sales pacing for a site (read:goals): goal, month-to-date actual, rollover carried in,\r\nprojected end-of-month, projected year, attainment %. month = YYYY-MM, defaults to the shop's\r\ncurrent month. Matches the dashboard sales-projections report.",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoalVsActualResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/analytics/sales-per-day": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Sales-per-day pacing for a site's month (read:goals): goal, sales so far, sales per workday,\r\nsales per remaining workday needed, total vs remaining workdays. viewType = all (default) |\r\ncomplete | wip | month. Matches the dashboard sales-per-day report.",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "viewType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesPerDayResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/analytics/rollover": {
      "get": {
        "tags": [
          "Analytics"
        ],
        "summary": "Rollover trend for a site (read:repair-orders): the unclosed sold/posted balance carried into\r\neach month over a nine-month window ending at month (YYYY-MM, defaults to the shop's current\r\nmonth), most recent first. Months with no carried tickets are omitted.",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RolloverMonth"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/appointments": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "List appointments for a site (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "bookingStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppointmentDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/appointments/{originId}": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "Get a single appointment by its external originId.",
        "parameters": [
          {
            "name": "originId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppointmentDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/calls": {
      "get": {
        "tags": [
          "Calls"
        ],
        "summary": "List calls for a site (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minDuration",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "advisorIqMin",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "advisorIqMax",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extension",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/calls/{callId}": {
      "get": {
        "tags": [
          "Calls"
        ],
        "summary": "Get a single call by its callId, with AI summary/sentiment/tags/scorecard.",
        "parameters": [
          {
            "name": "callId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/calls/{callId}/transcript": {
      "get": {
        "tags": [
          "Calls"
        ],
        "summary": "Get the full transcript for a call (text and/or speaker-labelled utterances).",
        "description": "Returns 200 with `available: false` when the call exists but has no transcript\r\n(unanswered, too short, or not recorded); 404 only when the callId does not resolve\r\nwithin this key's tenant/site scope.",
        "parameters": [
          {
            "name": "callId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "text"
            }
          },
          {
            "name": "includeWords",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "speakerLabels",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallTranscript"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/campaign-runs": {
      "get": {
        "tags": [
          "CampaignRuns"
        ],
        "summary": "List campaign runs for a site (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignRunDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/campaign-runs/{runId}": {
      "get": {
        "tags": [
          "CampaignRuns"
        ],
        "summary": "Get a single campaign run by its id.",
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignRunDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/campaigns": {
      "get": {
        "tags": [
          "Campaigns"
        ],
        "summary": "List campaign definitions for a site (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaignClass",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/campaigns/{campaignId}": {
      "get": {
        "tags": [
          "Campaigns"
        ],
        "summary": "Get a single campaign definition by its relayed document id.",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/campaign-sends": {
      "get": {
        "tags": [
          "CampaignSends"
        ],
        "summary": "List campaign sends for a site (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "campaignId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignSendDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/campaign-sends/{sendId}": {
      "get": {
        "tags": [
          "CampaignSends"
        ],
        "summary": "Get a single campaign send by its relayed document id.",
        "parameters": [
          {
            "name": "sendId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignSendDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List contacts for a site (search by name/phone/email; cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/contacts/{id}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Full contact detail (Mongo `contacts`) by DcDocumentId or OriginId.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DcServerContact"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/goals": {
      "get": {
        "tags": [
          "Goals"
        ],
        "summary": "Monthly goals for a site over a month range (add include=actors for per-actor goals).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromMonth",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toMonth",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoalDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/messages": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "List messages for a site (filter by contact; cursor-paginated). Metadata only.",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/messages/{documentId}": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Full message (incl. body) from Mongo `messages` by its DcDocumentId.",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DcServerMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/payments": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "List paid repair orders for a site (cursor-paginated, newest paid first). from/to are the shop's local calendar dates (whole days, shop timezone).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentSummaryListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/repair-orders": {
      "get": {
        "tags": [
          "RepairOrders"
        ],
        "summary": "List repair orders for a site (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateField",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ticketNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vin",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepairOrderListItemListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/repair-orders/{documentId}": {
      "get": {
        "tags": [
          "RepairOrders"
        ],
        "summary": "Full repair-order detail (Mongo `ro`) by its DcDocumentId.",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepairOrderDetail"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/repair-orders/by-origin/{originId}": {
      "get": {
        "tags": [
          "RepairOrders"
        ],
        "summary": "SA fallback: a repair order that has only an OriginId (no Mongo doc).",
        "parameters": [
          {
            "name": "originId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepairOrderListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/sites": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "List sites accessible to the API key (cursor-paginated).",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/sites/{siteId}": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Get a single site by its external siteId.",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/users": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List users accessible to the API key, with their employee mappings (cursor-paginated).",
        "parameters": [
          {
            "name": "siteId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDtoListEnvelope"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/users/{userId}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get a single user by their userId, with their employee mappings.",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/sites/{siteId}/employee-map": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get a site's raw employee map, including entries that resolve to no user.",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteEmployeeMap"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/contacts/{documentId}/vehicles": {
      "get": {
        "tags": [
          "Vehicles"
        ],
        "summary": "Vehicles for a contact (by the contact's DcDocumentId).",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleDtoListEnvelope"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    },
    "/v1/vehicles/{vehicleId}": {
      "get": {
        "tags": [
          "Vehicles"
        ],
        "summary": "Get a single vehicle by its external vehicleId (ContactVehicle.OriginId).",
        "parameters": [
          {
            "name": "vehicleId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VehicleDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKey": [ ]
          },
          {
            "PartnerKeyBearer": [ ]
          },
          {
            "PartnerKeyQuery": [ ]
          }
        ],
        "x-oktorocket-auth": {
          "classification": "tenant-scoped-partner-key",
          "source": "PartnerAuthMiddleware (/v1 boundary)",
          "gatewayEdgeToken": "required-at-origin; injected-by-gateway"
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AppointmentCustomer": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AppointmentDto": {
        "type": "object",
        "properties": {
          "originId": {
            "type": "string"
          },
          "siteId": {
            "type": "string"
          },
          "appointmentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "apptType": {
            "type": "string",
            "nullable": true
          },
          "bookingStatus": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "services": {
            "type": "string",
            "nullable": true
          },
          "leadSource": {
            "type": "string",
            "nullable": true
          },
          "sourceQueryString": {
            "type": "string",
            "nullable": true
          },
          "dcBooking": {
            "type": "boolean"
          },
          "customer": {
            "$ref": "#/components/schemas/AppointmentCustomer"
          },
          "vehicle": {
            "$ref": "#/components/schemas/AppointmentVehicle"
          }
        },
        "additionalProperties": false
      },
      "AppointmentDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppointmentDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "AppointmentVehicle": {
        "type": "object",
        "properties": {
          "vehicleId": {
            "type": "string",
            "nullable": true
          },
          "make": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CallDetail": {
        "type": "object",
        "properties": {
          "callId": {
            "type": "string"
          },
          "callSid": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "direction": {
            "type": "string",
            "nullable": true
          },
          "durationSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "talkTimeSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ringTimeSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "answeringExtension": {
            "type": "string",
            "nullable": true
          },
          "advisorIqScore": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "summary": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "scorecardScore": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "scorecardMaxScore": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "scorecardTemplate": {
            "type": "string",
            "nullable": true
          },
          "hasTranscript": {
            "type": "boolean"
          },
          "recorded": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CallDto": {
        "type": "object",
        "properties": {
          "callId": {
            "type": "string"
          },
          "siteId": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "direction": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "answeringExtension": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "callDurationSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "talkTimeSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ringTimeSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recorded": {
            "type": "boolean"
          },
          "vendor": {
            "type": "boolean"
          },
          "advisorIqScore": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "portalUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CallDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CallDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "CallTalkMetrics": {
        "type": "object",
        "properties": {
          "advisorSeconds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "customerSeconds": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "advisorWords": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "customerWords": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "advisorTalkRatio": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "customerTalkRatio": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "advisorWordsPerMinute": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CallTranscript": {
        "type": "object",
        "properties": {
          "callId": {
            "type": "string"
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "durationSeconds": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "available": {
            "type": "boolean"
          },
          "format": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "utterances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CallTranscriptUtterance"
            },
            "nullable": true
          },
          "summary": {
            "type": "string",
            "nullable": true
          },
          "advisorIqScore": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "talkMetrics": {
            "$ref": "#/components/schemas/CallTalkMetrics"
          }
        },
        "additionalProperties": false
      },
      "CallTranscriptUtterance": {
        "type": "object",
        "properties": {
          "speaker": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "end": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "words": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CallTranscriptWord"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CallTranscriptWord": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "end": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "confidence": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignDto": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string"
          },
          "siteId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "campaignClass": {
            "type": "string",
            "nullable": true
          },
          "origin": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "runStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "runEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "utmCampaign": {
            "type": "string",
            "nullable": true
          },
          "attributionEnabled": {
            "type": "boolean"
          },
          "attributionWindowDays": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "CampaignRunDto": {
        "type": "object",
        "properties": {
          "runId": {
            "type": "string"
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "campaignId": {
            "type": "string",
            "nullable": true
          },
          "campaignName": {
            "type": "string",
            "nullable": true
          },
          "trigger": {
            "type": "string",
            "nullable": true
          },
          "ranAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "matched": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "optedOut": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "onDeck": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "built": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignRunDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignRunDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "CampaignSendDto": {
        "type": "object",
        "properties": {
          "sendId": {
            "type": "string"
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "campaignId": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "sendDate": {
            "type": "string",
            "format": "date-time"
          },
          "tracker": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CampaignSendDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignSendDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "ContactDto": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "phones": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "spam": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "ContactEmail": {
        "type": "object",
        "properties": {
          "orderIndex": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "optOut": {
            "type": "boolean",
            "nullable": true
          },
          "integrationId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactNumber": {
        "type": "object",
        "properties": {
          "orderIndex": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "primary": {
            "type": "boolean",
            "nullable": true
          },
          "optOut": {
            "type": "boolean",
            "nullable": true
          },
          "integrationId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CrossReference": {
        "type": "object",
        "properties": {
          "crossRef": {
            "type": "string",
            "nullable": true
          },
          "site": {
            "type": "string",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DcServerContact": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "nullable": true
          },
          "tenantId": {
            "type": "string",
            "nullable": true
          },
          "vendorId": {
            "type": "string",
            "nullable": true
          },
          "fname": {
            "type": "string",
            "nullable": true
          },
          "lname": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactNumber"
            },
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactEmail"
            },
            "nullable": true
          },
          "geo": {
            "type": "array",
            "items": { },
            "nullable": true
          },
          "source": {
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "avatar": {
            "type": "string",
            "nullable": true
          },
          "spam": {
            "type": "boolean",
            "nullable": true
          },
          "vendor": {
            "type": "boolean",
            "nullable": true
          },
          "optout": {
            "type": "boolean",
            "nullable": true
          },
          "campaigns": {
            "type": "boolean",
            "nullable": true
          },
          "invalid": {
            "type": "boolean",
            "nullable": true
          },
          "vehicles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Vehicle"
            },
            "nullable": true
          },
          "inspections": {
            "type": "array",
            "items": { },
            "nullable": true
          },
          "ro": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepairOrder"
            },
            "nullable": true
          },
          "firstVisit": {
            "nullable": true
          },
          "reviews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Review"
            },
            "nullable": true
          },
          "crossRef": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrossReference"
            },
            "nullable": true
          },
          "verifiedCaller": {
            "type": "boolean",
            "nullable": true
          },
          "last_comparison_check": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "date_created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "date_updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DcServerMessage": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "nullable": true
          },
          "__v": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "tenantId": {
            "type": "string",
            "nullable": true
          },
          "agent": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "sid": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "direction": {
            "type": "string",
            "nullable": true
          },
          "pushDisplayed": {
            "type": "boolean",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "trackerId": {
            "type": "string",
            "nullable": true
          },
          "contact": {
            "type": "string",
            "nullable": true
          },
          "num_media": {
            "type": "string",
            "nullable": true
          },
          "num_segments": {
            "type": "string",
            "nullable": true
          },
          "NumMedia": {
            "type": "string",
            "nullable": true
          },
          "MediaUrl0": {
            "type": "string",
            "nullable": true
          },
          "metadata": {
            "$ref": "#/components/schemas/MessageMetadata"
          },
          "account_sid": {
            "type": "string",
            "nullable": true
          },
          "api_version": {
            "type": "string",
            "nullable": true
          },
          "error_code": {
            "type": "string",
            "nullable": true
          },
          "error_message": {
            "type": "string",
            "nullable": true
          },
          "date_created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "date_updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EmployeeMappingDto": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string"
          },
          "mappedId": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GoalActor": {
        "type": "object",
        "properties": {
          "actorType": {
            "type": "string",
            "nullable": true
          },
          "actorRef": {
            "type": "string",
            "nullable": true
          },
          "totalSales": {
            "type": "number",
            "format": "double"
          },
          "ticketCount": {
            "type": "integer",
            "format": "int32"
          },
          "gpDollars": {
            "type": "number",
            "format": "double"
          },
          "totalQuoted": {
            "type": "number",
            "format": "double"
          },
          "billedHours": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GoalDto": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string"
          },
          "month": {
            "type": "string"
          },
          "totalSales": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "carCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "grossProfit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "averageTicket": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "billedHours": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "partsGpPercent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "actors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GoalActor"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GoalDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GoalDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "GoalVsActualResult": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string"
          },
          "goal": {
            "type": "number",
            "format": "double"
          },
          "monthActual": {
            "type": "number",
            "format": "double"
          },
          "monthRollover": {
            "type": "number",
            "format": "double"
          },
          "projectedEndOfMonth": {
            "type": "number",
            "format": "double"
          },
          "yearProjected": {
            "type": "number",
            "format": "double"
          },
          "attainmentPct": {
            "type": "number",
            "format": "double"
          },
          "projectedAttainmentPct": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "InspectionFinding": {
        "type": "object",
        "properties": {
          "item": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "severity": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MessageDto": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string"
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "direction": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "sid": {
            "type": "string",
            "nullable": true
          },
          "trackerId": {
            "type": "string",
            "nullable": true
          },
          "messageDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MessageDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "MessageMetadata": {
        "type": "object",
        "properties": {
          "autoResponse": {
            "type": "boolean",
            "nullable": true
          },
          "keywordDetection": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaginationInfo": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PaymentMethod": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentSummary": {
        "type": "object",
        "properties": {
          "roId": {
            "type": "string"
          },
          "originId": {
            "type": "string",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "paidAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "amountPaid": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balanceDue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethod"
            }
          }
        },
        "additionalProperties": false
      },
      "PaymentSummaryListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentSummary"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "RepairOrder": {
        "type": "object",
        "properties": {
          "ro": {
            "type": "string",
            "nullable": true
          },
          "closed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "mileage": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepairOrderContactDetail": {
        "type": "object",
        "properties": {
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepairOrderDetail": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string"
          },
          "originId": {
            "type": "string",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "siteId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "workOrderStage": {
            "type": "string",
            "nullable": true
          },
          "authorized": {
            "type": "boolean",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateOfSale": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "datePaid": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "advisorName": {
            "type": "string",
            "nullable": true
          },
          "techName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "customerNotes": {
            "type": "string",
            "nullable": true
          },
          "mileage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "mileageIn": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "amountQuoted": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balanceDue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vehicleRef": {
            "type": "string",
            "nullable": true
          },
          "vehicle": {
            "$ref": "#/components/schemas/RepairOrderVehicle"
          },
          "customer": {
            "$ref": "#/components/schemas/RepairOrderContactDetail"
          },
          "laborCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "partsCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "subletCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "grossProfit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "grossProfitPct": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "workflow": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepairOrderWorkflowStep"
            }
          },
          "estimateSentAt": {
            "type": "string",
            "nullable": true
          },
          "inspectionSentAt": {
            "type": "string",
            "nullable": true
          },
          "promisedAt": {
            "type": "string",
            "nullable": true
          },
          "customerViewedAt": {
            "type": "string",
            "nullable": true
          },
          "inspection": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InspectionFinding"
            }
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepairOrderJob"
            }
          }
        },
        "additionalProperties": false
      },
      "RepairOrderJob": {
        "type": "object",
        "properties": {
          "originId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "laborSales": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "partsSales": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "laborCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "partsCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "laborHours": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "technician": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "fees": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "authorizedAt": {
            "type": "string",
            "nullable": true
          },
          "completedAt": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepairOrderListItem": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "nullable": true
          },
          "originId": {
            "type": "string",
            "nullable": true
          },
          "ticketNumber": {
            "type": "string",
            "nullable": true
          },
          "siteId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "ticketDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "closedOutDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateOfSale": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "totals": {
            "$ref": "#/components/schemas/RepairOrderTotals"
          },
          "billedHours": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "advisorRef": {
            "type": "string",
            "nullable": true
          },
          "vin": {
            "type": "string",
            "nullable": true
          },
          "make": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "newCustomer": {
            "type": "boolean",
            "nullable": true
          },
          "lastUpdate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepairOrderListItemListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepairOrderListItem"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "RepairOrderTotals": {
        "type": "object",
        "properties": {
          "labor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "parts": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "sublet": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "supplies": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "discounts": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "fees": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepairOrderVehicle": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "make": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "submodel": {
            "type": "string",
            "nullable": true
          },
          "vin": {
            "type": "string",
            "nullable": true
          },
          "plate": {
            "type": "string",
            "nullable": true
          },
          "engine": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RepairOrderWorkflowStep": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Review": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "reviewId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoSummaryGroup": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string"
          },
          "actorId": {
            "type": "integer",
            "format": "int32"
          },
          "actorName": {
            "type": "string",
            "nullable": true
          },
          "totals": {
            "$ref": "#/components/schemas/ShopDataTotalCalculated"
          }
        },
        "additionalProperties": false
      },
      "RoSummaryResult": {
        "type": "object",
        "properties": {
          "startDim": {
            "type": "integer",
            "format": "int64"
          },
          "endDim": {
            "type": "integer",
            "format": "int64"
          },
          "viewType": {
            "type": "string"
          },
          "totals": {
            "$ref": "#/components/schemas/ShopDataTotalCalculated"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoSummaryGroup"
            }
          }
        },
        "additionalProperties": false
      },
      "RolloverMonth": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "startDim": {
            "type": "integer",
            "format": "int64"
          },
          "endDim": {
            "type": "integer",
            "format": "int64"
          },
          "totalSales": {
            "type": "number",
            "format": "double"
          },
          "totalGp": {
            "type": "number",
            "format": "double"
          },
          "totalHours": {
            "type": "number",
            "format": "double"
          },
          "partsCosts": {
            "type": "number",
            "format": "double"
          },
          "ticketCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SalesPerDayResult": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string"
          },
          "salesGoal": {
            "type": "number",
            "format": "double"
          },
          "currentSales": {
            "type": "number",
            "format": "double"
          },
          "currentSalesPerDay": {
            "type": "number",
            "format": "double"
          },
          "adjustedSalesPerDay": {
            "type": "number",
            "format": "double"
          },
          "totalWorkdays": {
            "type": "integer",
            "format": "int32"
          },
          "remainingWorkdays": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ShopDataTotalCalculated": {
        "type": "object",
        "properties": {
          "totalSales": {
            "type": "number",
            "format": "double"
          },
          "totalTickets": {
            "type": "integer",
            "format": "int32"
          },
          "avgTicket": {
            "type": "number",
            "format": "double"
          },
          "avgTechQuote": {
            "type": "number",
            "format": "double"
          },
          "closeRatio": {
            "type": "integer",
            "format": "int32"
          },
          "grossProfit": {
            "type": "number",
            "format": "double"
          },
          "grossProfitPct": {
            "type": "number",
            "format": "double"
          },
          "grossProfitPerHr": {
            "type": "number",
            "format": "double"
          },
          "monthlyOverhead": {
            "type": "number",
            "format": "double"
          },
          "totalBilledHours": {
            "type": "number",
            "format": "double"
          },
          "netSalesPerHr": {
            "type": "number",
            "format": "double"
          },
          "grossSalesPerHr": {
            "type": "number",
            "format": "double"
          },
          "ticketsWritten": {
            "type": "integer",
            "format": "int32"
          },
          "totalTechQuote": {
            "type": "number",
            "format": "double"
          },
          "avgSalesPerDay": {
            "type": "number",
            "format": "double"
          },
          "avgGpPerDay": {
            "type": "number",
            "format": "double"
          },
          "laborSalesPct": {
            "type": "integer",
            "format": "int32"
          },
          "partsSalesPct": {
            "type": "integer",
            "format": "int32"
          },
          "laborSales": {
            "type": "number",
            "format": "double"
          },
          "partsSales": {
            "type": "number",
            "format": "double"
          },
          "laborCostPct": {
            "type": "number",
            "format": "double"
          },
          "laborCost": {
            "type": "number",
            "format": "double"
          },
          "partsCostPct": {
            "type": "number",
            "format": "double"
          },
          "partsCost": {
            "type": "number",
            "format": "double"
          },
          "avgBilledHrsPerDay": {
            "type": "number",
            "format": "double"
          },
          "avgBilledHrsPerTicket": {
            "type": "number",
            "format": "double"
          },
          "effectiveLaborRate": {
            "type": "number",
            "format": "double"
          },
          "avgDurOfService": {
            "type": "number",
            "format": "double"
          },
          "projTickets": {
            "type": "integer",
            "format": "int32"
          },
          "projSales": {
            "type": "number",
            "format": "double"
          },
          "projHours": {
            "type": "number",
            "format": "double"
          },
          "projGp": {
            "type": "number",
            "format": "double"
          },
          "overheadCostPerHr": {
            "type": "number",
            "format": "double"
          },
          "secondaryTotalTickets": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "projAvgTechQuote": {
            "type": "number",
            "format": "double"
          },
          "projCloseRatio": {
            "type": "number",
            "format": "double"
          },
          "projLaborSales": {
            "type": "number",
            "format": "double"
          },
          "projLaborSalesPct": {
            "type": "number",
            "format": "double"
          },
          "projPartsSales": {
            "type": "number",
            "format": "double"
          },
          "projPartsSalesPct": {
            "type": "number",
            "format": "double"
          },
          "projEffectiveLaborRate": {
            "type": "number",
            "format": "double"
          },
          "projGrossProfitPct": {
            "type": "number",
            "format": "double"
          },
          "projGrossProfitPerHr": {
            "type": "number",
            "format": "double"
          },
          "projLaborCost": {
            "type": "number",
            "format": "double"
          },
          "projLaborCostPct": {
            "type": "number",
            "format": "double"
          },
          "projPartsCost": {
            "type": "number",
            "format": "double"
          },
          "projPartsCostPct": {
            "type": "number",
            "format": "double"
          },
          "projAvgBilledHrsPerDay": {
            "type": "number",
            "format": "double"
          },
          "projAvgBilledHrsPerTicket": {
            "type": "number",
            "format": "double"
          },
          "projectedEffectiveLaborRate": {
            "type": "number",
            "format": "double"
          },
          "projectedTechQuote": {
            "type": "number",
            "format": "double"
          },
          "projectedCarCount": {
            "type": "integer",
            "format": "int32"
          },
          "projectedBilledHours": {
            "type": "number",
            "format": "double"
          },
          "projAvgTickets": {
            "type": "number",
            "format": "double"
          },
          "projAvgSalesPerDay": {
            "type": "number",
            "format": "double"
          },
          "projGrossProfit": {
            "type": "number",
            "format": "double"
          },
          "requestIdentifier": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteDto": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "clientName": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "softwareType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SiteDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "SiteEmployeeMap": {
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteEmployeeMapEntryDto"
            }
          }
        },
        "additionalProperties": false
      },
      "SiteEmployeeMapEntryDto": {
        "type": "object",
        "properties": {
          "employeeId": {
            "type": "string",
            "nullable": true
          },
          "mappedId": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserDto": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "roleId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "primarySiteId": {
            "type": "string",
            "nullable": true
          },
          "shopIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "extension": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "lastLogin": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "employeeMappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmployeeMappingDto"
            }
          }
        },
        "additionalProperties": false
      },
      "UserDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "Vehicle": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "submodel": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "plate": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "VIN": {
            "type": "string",
            "nullable": true
          },
          "production": {
            "type": "string",
            "nullable": true
          },
          "engine": {
            "type": "string",
            "nullable": true
          },
          "trans": {
            "type": "string",
            "nullable": true
          },
          "crossRef": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrossReference"
            },
            "nullable": true
          },
          "date_updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VehicleDto": {
        "type": "object",
        "properties": {
          "vehicleId": {
            "type": "string",
            "nullable": true
          },
          "vin": {
            "type": "string",
            "nullable": true
          },
          "make": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "submodel": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "plate": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "engine": {
            "type": "string",
            "nullable": true
          },
          "transmission": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VehicleDtoListEnvelope": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VehicleDto"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "description": "Tenant-scoped partner key in the preferred x-api-key header.",
        "name": "x-api-key",
        "in": "header"
      },
      "PartnerKeyBearer": {
        "type": "http",
        "description": "Opaque partner key in Authorization: Bearer. JWT-shaped values are reserved for the OAuth gateway surface.",
        "scheme": "bearer",
        "bearerFormat": "opaque partner key"
      },
      "PartnerKeyQuery": {
        "type": "apiKey",
        "description": "Partner-key fallback for clients that cannot set headers.",
        "name": "key",
        "in": "query"
      }
    }
  }
}