{
  "swagger": "2.0",
  "info": {
    "version": "V1",
    "title": "SEOTesting.Api",
    "x-swagger-net-version": "8.4.14.301"
  },
  "host": "api.seotesting.com",
  "schemes": [
    "https"
  ],
  "paths": {
    "/api/Auth/IsValid": {
      "get": {
        "tags": [
          "Auth"
        ],
        "operationId": "Auth_IsValid",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/ContentGroups/GetAll": {
      "get": {
        "tags": [
          "ContentGroups"
        ],
        "operationId": "ContentGroups_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/ContentGroup"
              },
              "xml": {
                "name": "ContentGroup",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/ContentGroups/GetDetails": {
      "get": {
        "tags": [
          "ContentGroups"
        ],
        "operationId": "ContentGroups_GetDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contentGroupId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContentGroup"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Page/GetPageDetails": {
      "get": {
        "tags": [
          "Page"
        ],
        "operationId": "Page_GetPageDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "url",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "type": "string",
            "default": "Clicks",
            "enum": [
              "Clicks",
              "Impressions",
              "Ctr",
              "AvgPosition",
              "ClicksAsc",
              "ImpressionsAsc",
              "CtrAsc",
              "AvgPositionAsc"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Page"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/SplitTest/Get": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "operationId": "SplitTest_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "testId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SplitTest"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/SplitTest/GetActive": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "operationId": "SplitTest_GetActive",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/SplitTest"
              },
              "xml": {
                "name": "SplitTest",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/SplitTest/GetAll": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "operationId": "SplitTest_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/SplitTest"
              },
              "xml": {
                "name": "SplitTest",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/SplitTest/GetCompleted": {
      "get": {
        "tags": [
          "SplitTest"
        ],
        "operationId": "SplitTest_GetCompleted",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/SplitTest"
              },
              "xml": {
                "name": "SplitTest",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Test/Get": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "testId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "getDetails",
            "in": "query",
            "required": false,
            "type": "boolean",
            "default": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Test"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Test/GetActive": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_GetActive",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Test"
              },
              "xml": {
                "name": "Test",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Test/GetAll": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Test"
              },
              "xml": {
                "name": "Test",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Test/GetAllSimple": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_GetAllSimple",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Test"
              },
              "xml": {
                "name": "Test",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Test/GetCompleted": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_GetCompleted",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Test"
              },
              "xml": {
                "name": "Test",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/UrlInspection/GetPageDetails": {
      "get": {
        "tags": [
          "UrlInspection"
        ],
        "operationId": "UrlInspection_GetPageDetails",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "websiteId",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "url",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api/Website/GetUserWebsites": {
      "get": {
        "tags": [
          "Website"
        ],
        "operationId": "Website_GetUserWebsites",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Website"
              },
              "xml": {
                "name": "Website",
                "wrapped": true
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    }
  },
  "definitions": {
    "ContentGroup": {
      "properties": {
        "ContentGroupId": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "Results": {
          "items": {
            "$ref": "#/definitions/ContentGroupResult"
          },
          "xml": {
            "name": "ContentGroupResult",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "ContentGroup"
      },
      "type": "object"
    },
    "ContentGroupResult": {
      "properties": {
        "ContentGroupId": {
          "type": "integer",
          "format": "int32"
        },
        "Year": {
          "type": "integer",
          "format": "int32"
        },
        "Month": {
          "type": "integer",
          "format": "int32"
        },
        "Clicks": {
          "type": "number",
          "format": "double"
        },
        "Impressions": {
          "type": "number",
          "format": "double"
        },
        "AvgPosition": {
          "type": "number",
          "format": "double"
        },
        "CTR": {
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "ContentGroupResult"
      },
      "type": "object"
    },
    "Page": {
      "properties": {
        "PageId": {
          "type": "integer",
          "format": "int64"
        },
        "QueryId": {
          "type": "integer",
          "format": "int64"
        },
        "CannibalReportId": {
          "type": "integer",
          "format": "int32"
        },
        "WebsiteId": {
          "type": "integer",
          "format": "int32"
        },
        "Url": {
          "type": "string"
        },
        "Impressions": {
          "type": "number",
          "format": "double"
        },
        "Clicks": {
          "type": "number",
          "format": "double"
        },
        "AveragePositions": {
          "type": "number",
          "format": "double"
        },
        "CTR": {
          "type": "number",
          "format": "double"
        },
        "Created": {
          "type": "string",
          "format": "date-time"
        },
        "Query": {
          "$ref": "#/definitions/Query"
        }
      },
      "xml": {
        "name": "Page"
      },
      "type": "object"
    },
    "Query": {
      "properties": {
        "QueryId": {
          "type": "integer",
          "format": "int64"
        },
        "CannibalReportId": {
          "type": "integer",
          "format": "int32"
        },
        "WebsiteId": {
          "type": "integer",
          "format": "int32"
        },
        "QueryText": {
          "type": "string"
        },
        "PageCount": {
          "type": "integer",
          "format": "int32"
        },
        "Impressions": {
          "type": "number",
          "format": "double"
        },
        "Clicks": {
          "type": "number",
          "format": "double"
        },
        "AveragePosition": {
          "type": "number",
          "format": "double"
        },
        "CTR": {
          "type": "number",
          "format": "double"
        },
        "Created": {
          "type": "string",
          "format": "date-time"
        },
        "CannibalReport": {
          "$ref": "#/definitions/CannibalReport"
        },
        "Pages": {
          "items": {
            "$ref": "#/definitions/Page"
          },
          "xml": {
            "name": "Page",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "Query"
      },
      "type": "object"
    },
    "CannibalReport": {
      "properties": {
        "CannibalReportId": {
          "type": "integer",
          "format": "int32"
        },
        "WebsiteId": {
          "type": "integer",
          "format": "int32"
        },
        "SitemapUrl": {
          "type": "string"
        },
        "Completed": {
          "type": "boolean"
        },
        "Attempted": {
          "type": "boolean"
        },
        "IgnoreHashes": {
          "type": "boolean"
        },
        "Created": {
          "type": "string",
          "format": "date-time"
        },
        "Updated": {
          "type": "string",
          "format": "date-time"
        },
        "CreatedBy": {
          "type": "integer",
          "format": "int32"
        },
        "FilterByBrand": {
          "type": "boolean"
        },
        "Threshold": {
          "type": "string"
        },
        "ExcludeUtm": {
          "type": "boolean"
        },
        "Queries": {
          "items": {
            "$ref": "#/definitions/Query"
          },
          "xml": {
            "name": "Query",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "CannibalReport"
      },
      "type": "object"
    },
    "SplitTest": {
      "properties": {
        "AveragePosition": {
          "$ref": "#/definitions/AveragePosition"
        },
        "ClicksPerDay": {
          "$ref": "#/definitions/ClicksPerDay"
        },
        "ClickThroughRate": {
          "$ref": "#/definitions/ClickThroughRate"
        },
        "Completed": {
          "type": "boolean"
        },
        "Description": {
          "type": "string"
        },
        "EndDate": {
          "type": "string",
          "format": "date-time"
        },
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "ImpressionsPerDay": {
          "$ref": "#/definitions/ImpressionsPerDay"
        },
        "Name": {
          "type": "string"
        },
        "ReportUrl": {
          "type": "string"
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "Tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "TestDates": {
          "$ref": "#/definitions/TestDates"
        },
        "Type": {
          "type": "string"
        },
        "WebsiteId": {
          "type": "integer",
          "format": "int32"
        }
      },
      "xml": {
        "name": "SplitTest"
      },
      "type": "object"
    },
    "AveragePosition": {
      "properties": {
        "Control": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Test": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "AveragePosition"
      },
      "type": "object"
    },
    "ClicksPerDay": {
      "properties": {
        "Control": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Test": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "ClicksPerDay"
      },
      "type": "object"
    },
    "ClickThroughRate": {
      "properties": {
        "Control": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Test": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "ClickThroughRate"
      },
      "type": "object"
    },
    "ImpressionsPerDay": {
      "properties": {
        "Control": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Test": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "ImpressionsPerDay"
      },
      "type": "object"
    },
    "TestDates": {
      "properties": {
        "ControlEnd": {
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "ControlStart": {
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "TestEnd": {
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "TestStart": {
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        }
      },
      "xml": {
        "name": "TestDates"
      },
      "type": "object"
    },
    "Test": {
      "properties": {
        "QueriesPerDay": {
          "$ref": "#/definitions/QueriesPerDay",
          "readOnly": true
        },
        "Raw": {
          "$ref": "#/definitions/NullableOfRaw"
        },
        "Stats": {
          "$ref": "#/definitions/NullableOfStatInformation"
        },
        "AveragePosition": {
          "$ref": "#/definitions/AveragePosition"
        },
        "ClicksPerDay": {
          "$ref": "#/definitions/ClicksPerDay"
        },
        "ClickThroughRate": {
          "$ref": "#/definitions/ClickThroughRate"
        },
        "Completed": {
          "type": "boolean"
        },
        "Description": {
          "type": "string"
        },
        "EndDate": {
          "type": "string",
          "format": "date-time"
        },
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "ImpressionsPerDay": {
          "$ref": "#/definitions/ImpressionsPerDay"
        },
        "Name": {
          "type": "string"
        },
        "ReportUrl": {
          "type": "string"
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "Tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "TestDates": {
          "$ref": "#/definitions/TestDates"
        },
        "Type": {
          "type": "string"
        },
        "WebsiteId": {
          "type": "integer",
          "format": "int32"
        }
      },
      "xml": {
        "name": "Test"
      },
      "type": "object"
    },
    "QueriesPerDay": {
      "properties": {
        "Control": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Test": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "QueriesPerDay"
      },
      "type": "object"
    },
    "NullableOfRaw": {
      "properties": {
        "ControlPeriod": {
          "items": {
            "$ref": "#/definitions/RawTestInfo"
          },
          "readOnly": true,
          "xml": {
            "name": "RawTestInfo",
            "wrapped": true
          },
          "type": "array"
        },
        "TestPeriod": {
          "items": {
            "$ref": "#/definitions/RawTestInfo"
          },
          "readOnly": true,
          "xml": {
            "name": "RawTestInfo",
            "wrapped": true
          },
          "type": "array"
        }
      },
      "xml": {
        "name": "Nullable`1"
      },
      "type": "object"
    },
    "NullableOfStatInformation": {
      "properties": {
        "MeanOfControlClicks": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "MeanOfTestClicks": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "T": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Df": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "PValue": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        }
      },
      "xml": {
        "name": "Nullable`1"
      },
      "type": "object"
    },
    "RawTestInfo": {
      "properties": {
        "AveragePosition": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Clicks": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "ClickThroughRate": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "Date": {
          "readOnly": true,
          "type": "string",
          "format": "date-time"
        },
        "Impressions": {
          "readOnly": true,
          "type": "number",
          "format": "double"
        },
        "UniqueQueries": {
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        }
      },
      "xml": {
        "name": "RawTestInfo"
      },
      "type": "object"
    },
    "Website": {
      "properties": {
        "Id": {
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "readOnly": true,
          "type": "string"
        },
        "Url": {
          "readOnly": true,
          "type": "string"
        }
      },
      "xml": {
        "name": "Website"
      },
      "type": "object"
    }
  },
  "securityDefinitions": {
    "apiKey": {
      "type": "apiKey",
      "description": "API Key Authentication",
      "name": "apiKey",
      "in": "header"
    }
  },
  "tags": [
    {
      "name": "Auth"
    },
    {
      "name": "ContentGroups"
    },
    {
      "name": "Page"
    },
    {
      "name": "SplitTest"
    },
    {
      "name": "Test"
    },
    {
      "name": "UrlInspection"
    },
    {
      "name": "Website"
    }
  ]
}