{
  "openapi": "3.0.4",
  "info": {
    "title": "Donorfy API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.donorfy.npe.accessacloud.com/"
    }
  ],
  "paths": {
    "/v1/constituents/{constituentId}/contact-details": {
      "get": {
        "tags": [
          "Constituents - Contact Details"
        ],
        "parameters": [
          {
            "name": "constituentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.ContactDetails.Responses.ContactDetailApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.ContactDetails.Responses.ContactDetailApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.ContactDetails.Responses.ContactDetailApiResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/constituents": {
      "get": {
        "tags": [
          "Constituents"
        ],
        "parameters": [
          {
            "name": "LastName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "FirstName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ConstituentNumber",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int64"
            }
          },
          {
            "name": "IsActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Prefix",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AlsoKnownAs",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DateOfBirthFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateOfBirthTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "NationalIDNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IsGroup",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ArchiveDateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ArchiveDateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "PreferredEmail",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NoGiftAid",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "IsMajorDonor",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "DateAddedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateAddedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateChangedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateChangedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ExternalKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ConstituentType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Gender",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ArchiveReason",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "RecruitmentCampaign",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "1 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "UsePaging",
            "in": "query",
            "description": "True as default if not set",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "100 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "enum": [
                "constituentNumber",
                "lastName",
                "firstName",
                "organisationName",
                "dateOfBirth",
                "nationalIDNumber",
                "archiveDate",
                "preferredEmail",
                "dateAdded",
                "dateChanged",
                "constituentType",
                "gender",
                "archiveReason",
                "recruitmentCampaign"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "description": "Ascending as default if not selected and sortBy selected",
            "schema": {
              "enum": [
                "ascending",
                "descending"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentApiResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "Constituents"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Constituents.Requests.CreateConstituentApiRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Constituents.Requests.CreateConstituentApiRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Constituents.Requests.CreateConstituentApiRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Constituents.Requests.CreateConstituentApiRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Constituents.Responses.CreateConstituentApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Constituents.Responses.CreateConstituentApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Constituents.Responses.CreateConstituentApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/constituents/{constituentId}": {
      "get": {
        "tags": [
          "Constituents"
        ],
        "parameters": [
          {
            "name": "constituentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Include",
            "in": "query",
            "description": "One or more fields",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "contactDetails",
                  "trackingCodes"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentDetailApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentDetailApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentDetailApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "Constituents"
        ],
        "parameters": [
          {
            "name": "constituentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "Constituents"
        ],
        "parameters": [
          {
            "name": "constituentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatchDocumentOfConstituent.Constituents.Requests.PatchConstituentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/constituents/duplicate-check": {
      "post": {
        "tags": [
          "Constituents"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Duplicates.Requests.DuplicateCheckApiRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Duplicates.Requests.DuplicateCheckApiRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Duplicates.Requests.DuplicateCheckApiRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Constituent.Duplicates.Requests.DuplicateCheckApiRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.Duplicates.Responses.DuplicateCheckApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.Duplicates.Responses.DuplicateCheckApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Constituent.Duplicates.Responses.DuplicateCheckApiResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/types": {
      "get": {
        "tags": [
          "Lists - Types"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lists.ListTypes.Responses.ListTypeApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lists.ListTypes.Responses.ListTypeApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lists.ListTypes.Responses.ListTypeApiResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/types/{listTypeName}": {
      "get": {
        "tags": [
          "Lists - Types"
        ],
        "parameters": [
          {
            "name": "listTypeName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Include",
            "in": "query",
            "description": "One or more fields",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "availableColumns",
                  "availableFilters"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListTypes.Responses.ListTypeDetailApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListTypes.Responses.ListTypeDetailApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListTypes.Responses.ListTypeDetailApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/{listDefinitionId}/runs": {
      "post": {
        "tags": [
          "Lists - Runs"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.GenerateListRunApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.GenerateListRunApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.GenerateListRunApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          },
          "502": {
            "description": "Bad Gateway"
          }
        }
      },
      "get": {
        "tags": [
          "Lists - Runs"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "1 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "UsePaging",
            "in": "query",
            "description": "True as default if not set",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "100 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunHistoryApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunHistoryApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunHistoryApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/{listDefinitionId}/runs/{runId}": {
      "get": {
        "tags": [
          "Lists - Runs"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/{listDefinitionId}/runs/{runId}/results": {
      "get": {
        "tags": [
          "Lists - Runs"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "1 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "UsePaging",
            "in": "query",
            "description": "True as default if not set",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "100 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunResultsApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunResultsApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunResultsApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/{listDefinitionId}/runs/{runId}/cancellation": {
      "post": {
        "tags": [
          "Lists - Runs"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.CancelListRunApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.CancelListRunApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListRuns.Responses.CancelListRunApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists": {
      "get": {
        "tags": [
          "Lists"
        ],
        "parameters": [
          {
            "name": "ListType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "1 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "UsePaging",
            "in": "query",
            "description": "True as default if not set",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "100 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "enum": [
                "listType",
                "listDescription",
                "rowCount",
                "rowCountDate"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "description": "Ascending as default if not selected and sortBy selected",
            "schema": {
              "enum": [
                "ascending",
                "descending"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionApiResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "post": {
        "tags": [
          "Lists"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.CreateListDefinitionApiRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.CreateListDefinitionApiRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.CreateListDefinitionApiRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.CreateListDefinitionApiRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.CreateListDefinitionApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.CreateListDefinitionApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.CreateListDefinitionApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lists/{listDefinitionId}": {
      "get": {
        "tags": [
          "Lists"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "put": {
        "tags": [
          "Lists"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.UpdateListDefinitionApiRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.UpdateListDefinitionApiRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.UpdateListDefinitionApiRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.UpdateListDefinitionApiRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "Lists"
        ],
        "parameters": [
          {
            "name": "listDefinitionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lookup-types": {
      "get": {
        "tags": [
          "Lookup Types"
        ],
        "parameters": [
          {
            "name": "IsActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "IsSystem",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "LookupType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LookupTypeDescription",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StoreDescription",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "AllowBlank",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "DateAddedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateAddedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateChangedFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateChangedTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "1 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "UsePaging",
            "in": "query",
            "description": "True as default if not set",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "100 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "enum": [
                "lookupType",
                "dateAdded",
                "dateChanged"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "description": "Ascending as default if not selected and sortBy selected",
            "schema": {
              "enum": [
                "ascending",
                "descending"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lookups.LookupTypes.Responses.LookupTypeApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lookups.LookupTypes.Responses.LookupTypeApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lookups.LookupTypes.Responses.LookupTypeApiResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lookup-types/{lookupTypeId}": {
      "get": {
        "tags": [
          "Lookup Types"
        ],
        "parameters": [
          {
            "name": "lookupTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.LookupTypes.Responses.LookupTypeApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.LookupTypes.Responses.LookupTypeApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.LookupTypes.Responses.LookupTypeApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lookups": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "parameters": [
          {
            "name": "IsActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "LookupDescription",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LookupTypeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "LookupTypeDescription",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PageNumber",
            "in": "query",
            "description": "1 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "UsePaging",
            "in": "query",
            "description": "True as default if not set",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "100 as default if not set",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "format": "int32"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "enum": [
                "lookupDescription",
                "dateAdded",
                "dateChanged"
              ],
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "description": "Ascending as default if not selected and sortBy selected",
            "schema": {
              "enum": [
                "ascending",
                "descending"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lookups.Lookups.Responses.LookupApiResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lookups.Lookups.Responses.LookupApiResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lookups.Lookups.Responses.LookupApiResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/v1/lookups/{lookupId}": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "parameters": [
          {
            "name": "lookupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Include",
            "in": "query",
            "description": "One or more fields",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "enum": [
                  "additionalInfo"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Lookups.Responses.LookupApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Lookups.Responses.LookupApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Lookups.Responses.LookupApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lookups.Core.Results.InvalidRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Campaign.Campaigns.Responses.CampaignDetailApiResponse": {
        "type": "object",
        "properties": {
          "isEvent": {
            "type": "boolean",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "contactConstituentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "campaignMembersListId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "defaultProductId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "defaultFundId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "channelId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "campaignNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int64"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "campaignType": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "defaultProduct": {
            "type": "string",
            "nullable": true
          },
          "defaultFund": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "type": "string",
            "nullable": true
          },
          "constituentsBudget": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "transactionsBudget": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "expensesTotal": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "audienceSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Campaign.Campaigns.Responses.CampaignListApiResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "campaignNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int64"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "campaignType": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "defaultProduct": {
            "type": "string",
            "nullable": true
          },
          "defaultFund": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "type": "string",
            "nullable": true
          },
          "constituentsBudget": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "transactionsBudget": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "expensesTotal": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "audienceSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "owner": {
            "type": "string",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Campaign.Campaigns.Sorts.CampaignApiSort": {
        "type": "integer"
      },
      "Campaign.Core.Results.InvalidRequest": {
        "required": [
          "message",
          "errors"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Campaign.Core.Validation.ValidationItem"
            }
          }
        }
      },
      "Campaign.Core.Validation.ValidationItem": {
        "required": [
          "message",
          "field"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "field": {
            "type": "string"
          }
        }
      },
      "Constituent.Constituents.Includes.ConstituentApiInclude": {
        "type": "integer"
      },
      "Constituent.Constituents.Requests.CreateConstituentApiRequest": {
        "required": [
          "constituentType"
        ],
        "type": "object",
        "properties": {
          "constituentType": {
            "type": "string"
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "organisationName": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          },
          "formerly": {
            "type": "string",
            "nullable": true
          },
          "alsoKnownAs": {
            "type": "string",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "allowNameSwap": {
            "type": "boolean",
            "nullable": true
          },
          "noGiftAid": {
            "type": "boolean",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "nationalIDNumber": {
            "type": "string",
            "nullable": true
          },
          "recruitmentCampaign": {
            "type": "string",
            "nullable": true
          },
          "channelPermissions": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "activeTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "excludedTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "Constituent.Constituents.Responses.ConstituentApiResponse": {
        "type": "object",
        "properties": {
          "constituentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "constituentNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int64"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          },
          "formerly": {
            "type": "string",
            "nullable": true
          },
          "alsoKnownAs": {
            "type": "string",
            "nullable": true
          },
          "dayOfBirth": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "monthOfBirth": {
            "type": "string",
            "nullable": true
          },
          "yearOfBirth": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "organisationName": {
            "type": "string",
            "nullable": true
          },
          "nationalIDNumber": {
            "type": "string",
            "nullable": true
          },
          "allowNameSwap": {
            "type": "boolean",
            "nullable": true
          },
          "isGroup": {
            "type": "boolean",
            "nullable": true
          },
          "archiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "defaultContactChannelDetails": {
            "type": "string",
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "preferredPhone": {
            "type": "string",
            "nullable": true
          },
          "preferredEmail": {
            "type": "string",
            "nullable": true
          },
          "preferredEmailFormat": {
            "type": "string",
            "nullable": true
          },
          "preferredMobilePhone": {
            "type": "string",
            "nullable": true
          },
          "preferredAddressCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "noGiftAid": {
            "type": "boolean",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "propensityToGive": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "givingCapacity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "connectionIndex": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "totalAnnualGiving": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "typicalGiftSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "suggestAskAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "fundingDeadlineMonths": {
            "type": "string",
            "nullable": true
          },
          "monthsBetweenApplications": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "fundingPreferences": {
            "type": "string",
            "nullable": true
          },
          "fundingLocations": {
            "type": "string",
            "nullable": true
          },
          "isMajorDonor": {
            "type": "boolean",
            "nullable": true
          },
          "researchNotes": {
            "type": "string",
            "nullable": true
          },
          "solicitationPlan": {
            "type": "string",
            "nullable": true
          },
          "typicalGiftSize2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "nextApplicationDeadline": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "constituentType": {
            "type": "string",
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "archiveReason": {
            "type": "string",
            "nullable": true
          },
          "recruitmentCampaign": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Constituent.Constituents.Responses.ConstituentDetailApiResponse": {
        "type": "object",
        "properties": {
          "constituentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "constituentNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int64"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          },
          "formerly": {
            "type": "string",
            "nullable": true
          },
          "alsoKnownAs": {
            "type": "string",
            "nullable": true
          },
          "dayOfBirth": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "monthOfBirth": {
            "type": "string",
            "nullable": true
          },
          "yearOfBirth": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "organisationName": {
            "type": "string",
            "nullable": true
          },
          "nationalIDNumber": {
            "type": "string",
            "nullable": true
          },
          "allowNameSwap": {
            "type": "boolean",
            "nullable": true
          },
          "isGroup": {
            "type": "boolean",
            "nullable": true
          },
          "archiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "defaultContactChannelDetails": {
            "type": "string",
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "preferredPhone": {
            "type": "string",
            "nullable": true
          },
          "preferredEmail": {
            "type": "string",
            "nullable": true
          },
          "preferredEmailFormat": {
            "type": "string",
            "nullable": true
          },
          "preferredMobilePhone": {
            "type": "string",
            "nullable": true
          },
          "preferredAddressCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "noGiftAid": {
            "type": "boolean",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "propensityToGive": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "givingCapacity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "connectionIndex": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "totalAnnualGiving": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "typicalGiftSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "suggestAskAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "fundingDeadlineMonths": {
            "type": "string",
            "nullable": true
          },
          "monthsBetweenApplications": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "fundingPreferences": {
            "type": "string",
            "nullable": true
          },
          "fundingLocations": {
            "type": "string",
            "nullable": true
          },
          "isMajorDonor": {
            "type": "boolean",
            "nullable": true
          },
          "researchNotes": {
            "type": "string",
            "nullable": true
          },
          "solicitationPlan": {
            "type": "string",
            "nullable": true
          },
          "typicalGiftSize2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "nextApplicationDeadline": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "constituentType": {
            "type": "string",
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "archiveReason": {
            "type": "string",
            "nullable": true
          },
          "recruitmentCampaign": {
            "type": "string",
            "nullable": true
          },
          "trackingCode": {
            "oneOf": [
              {
                "enum": [
                  null
                ]
              },
              {
                "$ref": "#/components/schemas/Constituent.Constituents.Responses.TrackingCodeApiResponse"
              }
            ]
          },
          "contactDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Constituent.ContactDetails.Responses.ContactDetailApiResponse"
            },
            "nullable": true
          }
        }
      },
      "Constituent.Constituents.Responses.CreateConstituentApiResponse": {
        "type": "object",
        "properties": {
          "mainContact": {
            "oneOf": [
              {
                "enum": [
                  null
                ]
              },
              {
                "$ref": "#/components/schemas/Constituent.Constituents.Responses.ConstituentApiResponse"
              }
            ]
          },
          "constituentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "constituentNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int64"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "prefix": {
            "type": "string",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "nullable": true
          },
          "formerly": {
            "type": "string",
            "nullable": true
          },
          "alsoKnownAs": {
            "type": "string",
            "nullable": true
          },
          "dayOfBirth": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "monthOfBirth": {
            "type": "string",
            "nullable": true
          },
          "yearOfBirth": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "organisationName": {
            "type": "string",
            "nullable": true
          },
          "nationalIDNumber": {
            "type": "string",
            "nullable": true
          },
          "allowNameSwap": {
            "type": "boolean",
            "nullable": true
          },
          "isGroup": {
            "type": "boolean",
            "nullable": true
          },
          "archiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "defaultContactChannelDetails": {
            "type": "string",
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "preferredPhone": {
            "type": "string",
            "nullable": true
          },
          "preferredEmail": {
            "type": "string",
            "nullable": true
          },
          "preferredEmailFormat": {
            "type": "string",
            "nullable": true
          },
          "preferredMobilePhone": {
            "type": "string",
            "nullable": true
          },
          "preferredAddressCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "noGiftAid": {
            "type": "boolean",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "propensityToGive": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "givingCapacity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "connectionIndex": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "totalAnnualGiving": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "typicalGiftSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "suggestAskAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "fundingDeadlineMonths": {
            "type": "string",
            "nullable": true
          },
          "monthsBetweenApplications": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "fundingPreferences": {
            "type": "string",
            "nullable": true
          },
          "fundingLocations": {
            "type": "string",
            "nullable": true
          },
          "isMajorDonor": {
            "type": "boolean",
            "nullable": true
          },
          "researchNotes": {
            "type": "string",
            "nullable": true
          },
          "solicitationPlan": {
            "type": "string",
            "nullable": true
          },
          "typicalGiftSize2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "format": "double"
          },
          "nextApplicationDeadline": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "constituentType": {
            "type": "string",
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "archiveReason": {
            "type": "string",
            "nullable": true
          },
          "recruitmentCampaign": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Constituent.Constituents.Responses.TrackingCodeApiResponse": {
        "type": "object",
        "properties": {
          "utmSource": {
            "type": "string",
            "nullable": true
          },
          "utmMedium": {
            "type": "string",
            "nullable": true
          },
          "utmTerm": {
            "type": "string",
            "nullable": true
          },
          "utmContent": {
            "type": "string",
            "nullable": true
          },
          "utmCampaign": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Constituent.Constituents.Sorts.ConstituentApiSort": {
        "type": "integer"
      },
      "Constituent.ContactDetails.Responses.ContactDetailApiResponse": {
        "type": "object",
        "properties": {
          "contactDetailsId": {
            "type": "string",
            "format": "uuid"
          },
          "contactDetailsTypeCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "contactDetailsType": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "jobTitle": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "string",
            "nullable": true
          },
          "salutation": {
            "type": "string",
            "nullable": true
          },
          "labelName": {
            "type": "string",
            "nullable": true
          },
          "houseBuildingNumber": {
            "type": "string",
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "nullable": true
          },
          "town": {
            "type": "string",
            "nullable": true
          },
          "county": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "phone1": {
            "type": "string",
            "nullable": true
          },
          "phone2": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "email1Address": {
            "type": "string",
            "nullable": true
          },
          "email1Format": {
            "type": "string",
            "nullable": true
          },
          "email1Status": {
            "type": "string",
            "nullable": true
          },
          "email2Address": {
            "type": "string",
            "nullable": true
          },
          "email2Format": {
            "type": "string",
            "nullable": true
          },
          "email2Status": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Constituent.Core.Results.InvalidRequest": {
        "required": [
          "message",
          "errors"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Constituent.Core.Validation.ValidationItem"
            }
          }
        }
      },
      "Constituent.Core.Validation.ValidationItem": {
        "required": [
          "message",
          "field"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "field": {
            "type": "string"
          }
        }
      },
      "Constituent.Duplicates.Requests.DuplicateCheckApiRequest": {
        "required": [
          "lastName",
          "firstName",
          "emailAddress",
          "phoneNumber",
          "mobilePhone",
          "houseBuildingNumber",
          "addressLine1",
          "postalCode"
        ],
        "type": "object",
        "properties": {
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "houseBuildingNumber": {
            "type": "string",
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Constituent.Duplicates.Responses.DuplicateCheckApiResponse": {
        "required": [
          "constituentId",
          "lastName",
          "firstName",
          "emailAddress",
          "phoneNumber",
          "mobilePhone",
          "houseBuildingNumber",
          "addressLine1",
          "postalCode",
          "score",
          "matchedRules"
        ],
        "type": "object",
        "properties": {
          "constituentId": {
            "type": "string",
            "format": "uuid"
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "houseBuildingNumber": {
            "type": "string",
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "score": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "matchedRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Constituent.Duplicates.Responses.MatchedRuleApiResponse"
            }
          }
        }
      },
      "Constituent.Duplicates.Responses.MatchedRuleApiResponse": {
        "required": [
          "reason",
          "score"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          },
          "score": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          }
        }
      },
      "Core.Models.Api.ApiSortDirection": {
        "type": "integer"
      },
      "JsonPatch.Operations.OperationType": {
        "type": "integer"
      },
      "JsonPatchDocumentOfConstituent.Constituents.Requests.PatchConstituentRequest": {
        "type": "object",
        "properties": {
          "operations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationOfConstituent.Constituents.Requests.PatchConstituentRequest"
            },
            "nullable": true
          },
          "contractResolver": {
            "$ref": "#/components/schemas/Serialization.IContractResolver"
          }
        }
      },
      "Lists.Core.Enums.FilterJoin": {
        "type": "integer"
      },
      "Lists.Core.Enums.FilterOperator": {
        "type": "integer"
      },
      "Lists.Core.Enums.QueryMetadataType": {
        "type": "integer"
      },
      "Lists.Core.Results.InvalidRequest": {
        "required": [
          "message",
          "errors"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lists.Core.Validation.ValidationItem"
            }
          }
        }
      },
      "Lists.Core.Validation.ValidationItem": {
        "required": [
          "message",
          "field"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "field": {
            "type": "string"
          }
        }
      },
      "Lists.ListDefinitions.Requests.CreateListDefinitionApiRequest": {
        "required": [
          "listType",
          "listDescription"
        ],
        "type": "object",
        "properties": {
          "listType": {
            "type": "string"
          },
          "listDescription": {
            "type": "string"
          }
        }
      },
      "Lists.ListDefinitions.Requests.FilterItemApiRequest": {
        "required": [
          "filterJoin",
          "nodeJoin",
          "openBracket",
          "closeBracket",
          "field",
          "displayName",
          "dataType",
          "operation",
          "stringOperand",
          "stringOperand2",
          "dateOperand",
          "dateOperand2",
          "decimalOperand",
          "decimalOperand2",
          "integerOperand",
          "integerOperand2",
          "skip",
          "includeNull",
          "system",
          "permission",
          "guidOperand",
          "guidOperand2"
        ],
        "type": "object",
        "properties": {
          "filterItemId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "filterJoin": {
            "$ref": "#/components/schemas/Lists.Core.Enums.FilterJoin"
          },
          "nodeJoin": {
            "$ref": "#/components/schemas/Lists.Core.Enums.FilterJoin"
          },
          "openBracket": {
            "type": "string",
            "nullable": true
          },
          "closeBracket": {
            "type": "string",
            "nullable": true
          },
          "field": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "dataType": {
            "$ref": "#/components/schemas/Lists.Core.Enums.QueryMetadataType"
          },
          "operation": {
            "$ref": "#/components/schemas/Lists.Core.Enums.FilterOperator"
          },
          "stringOperand": {
            "type": "string",
            "nullable": true
          },
          "stringOperand2": {
            "type": "string",
            "nullable": true
          },
          "dateOperand": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateOperand2": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "decimalOperand": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "format": "double"
          },
          "decimalOperand2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "format": "double"
          },
          "integerOperand": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "integerOperand2": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "skip": {
            "type": "boolean"
          },
          "includeNull": {
            "type": "boolean"
          },
          "system": {
            "type": "boolean"
          },
          "permission": {
            "type": "boolean"
          },
          "guidOperand": {
            "type": "string",
            "format": "uuid"
          },
          "guidOperand2": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "Lists.ListDefinitions.Requests.UpdateListDefinitionApiRequest": {
        "required": [
          "listDescription",
          "sortBy",
          "sortDirection",
          "selectedFields",
          "includeArchivedConstituents",
          "includeConfidentialActivities",
          "showInMenu",
          "whoCanModify",
          "commsPreferenceTypeId",
          "selectedCommsPurposes",
          "selectedCommsChannels",
          "listFilterRestriction",
          "filters"
        ],
        "type": "object",
        "properties": {
          "listDescription": {
            "type": "string",
            "nullable": true
          },
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "sortDirection": {
            "type": "string",
            "nullable": true
          },
          "selectedFields": {
            "type": "string",
            "nullable": true
          },
          "includeArchivedConstituents": {
            "type": "string",
            "nullable": true
          },
          "includeConfidentialActivities": {
            "type": "string",
            "nullable": true
          },
          "showInMenu": {
            "type": "string",
            "nullable": true
          },
          "whoCanModify": {
            "type": "string",
            "nullable": true
          },
          "commsPreferenceTypeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "selectedCommsPurposes": {
            "type": "string",
            "nullable": true
          },
          "selectedCommsChannels": {
            "type": "string",
            "nullable": true
          },
          "listFilterRestriction": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lists.ListDefinitions.Requests.FilterItemApiRequest"
            }
          }
        }
      },
      "Lists.ListDefinitions.Responses.CreateListDefinitionApiResponse": {
        "required": [
          "listDefinitionId"
        ],
        "type": "object",
        "properties": {
          "listDefinitionId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "Lists.ListDefinitions.Responses.FilterDefinitionApiResponse": {
        "type": "object",
        "properties": {
          "filterId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.FilterItemApiResponse"
            }
          },
          "availableOutputFieldList": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedOutputFieldList": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "parentListDefnId": {
            "type": "string",
            "format": "uuid"
          },
          "commsPreferenceTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "commsPreferenceType": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Lists.ListDefinitions.Responses.FilterItemApiResponse": {
        "type": "object",
        "properties": {
          "filterItemId": {
            "type": "string",
            "format": "uuid"
          },
          "filterJoin": {
            "type": "string",
            "nullable": true
          },
          "nodeJoin": {
            "type": "string",
            "nullable": true
          },
          "openBracket": {
            "type": "string",
            "nullable": true
          },
          "closeBracket": {
            "type": "string",
            "nullable": true
          },
          "field": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "dataType": {
            "type": "string",
            "nullable": true
          },
          "operation": {
            "type": "string",
            "nullable": true
          },
          "stringOperand": {
            "type": "string",
            "nullable": true
          },
          "stringOperand2": {
            "type": "string",
            "nullable": true
          },
          "dateOperand": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateOperand2": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "decimalOperand": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "format": "double"
          },
          "decimalOperand2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "format": "double"
          },
          "integerOperand": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "integerOperand2": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "skip": {
            "type": "boolean"
          },
          "includeNull": {
            "type": "boolean"
          },
          "system": {
            "type": "boolean"
          },
          "permission": {
            "type": "boolean"
          },
          "guidOperand": {
            "type": "string",
            "format": "uuid"
          },
          "guidOperand2": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "Lists.ListDefinitions.Responses.ListDefinitionApiResponse": {
        "type": "object",
        "properties": {
          "listDefinitionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "listDescription": {
            "type": "string",
            "nullable": true
          },
          "listType": {
            "type": "string",
            "nullable": true
          },
          "rowCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "rowCountDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Lists.ListDefinitions.Responses.ListDefinitionDetailApiResponse": {
        "type": "object",
        "properties": {
          "listDefinitionId": {
            "type": "string",
            "format": "uuid"
          },
          "listDescription": {
            "type": "string",
            "nullable": true
          },
          "listType": {
            "type": "string",
            "nullable": true
          },
          "rowCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "rowCountDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "listVersion": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "sortDirection": {
            "type": "string",
            "nullable": true
          },
          "selectedFields": {
            "type": "string",
            "nullable": true
          },
          "includeArchivedConstituents": {
            "type": "string",
            "nullable": true
          },
          "includeConfidentialActivities": {
            "type": "string",
            "nullable": true
          },
          "showInMenu": {
            "type": "string",
            "nullable": true
          },
          "whoCanModify": {
            "type": "string",
            "nullable": true
          },
          "listIsLocked": {
            "type": "boolean",
            "nullable": true
          },
          "listLockedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "addedByUserId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "lastRunDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "listFilterRestriction": {
            "type": "string",
            "nullable": true
          },
          "commsPreferenceTypeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "selectedCommsPurposes": {
            "type": "string",
            "nullable": true
          },
          "selectedCommsChannels": {
            "type": "string",
            "nullable": true
          },
          "filterDefinition": {
            "oneOf": [
              {
                "enum": [
                  null
                ]
              },
              {
                "$ref": "#/components/schemas/Lists.ListDefinitions.Responses.FilterDefinitionApiResponse"
              }
            ]
          }
        }
      },
      "Lists.ListDefinitions.Sorts.ListDefinitionApiSort": {
        "type": "integer"
      },
      "Lists.ListRuns.Responses.CancelListRunApiResponse": {
        "required": [
          "runId",
          "status",
          "statusCode",
          "message"
        ],
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "statusCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "Lists.ListRuns.Responses.GenerateListRunApiResponse": {
        "required": [
          "runId",
          "message"
        ],
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "format": "uuid"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Lists.ListRuns.Responses.ListRunApiResponse": {
        "required": [
          "runId",
          "listId",
          "status",
          "statusCode",
          "message",
          "rowCount",
          "createdAt",
          "lastUpdated"
        ],
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "format": "uuid"
          },
          "listId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "statusCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "rowCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Lists.ListRuns.Responses.ListRunHistoryApiResponse": {
        "required": [
          "runs"
        ],
        "type": "object",
        "properties": {
          "runs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lists.ListRuns.Responses.ListRunHistoryItemApiResponse"
            }
          }
        }
      },
      "Lists.ListRuns.Responses.ListRunHistoryItemApiResponse": {
        "required": [
          "runId",
          "status",
          "statusCode",
          "rowCount",
          "createdAt",
          "lastUpdated"
        ],
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "statusCode": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "rowCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Lists.ListRuns.Responses.ListRunResultsApiResponse": {
        "required": [
          "availableColumns",
          "results"
        ],
        "type": "object",
        "properties": {
          "availableColumns": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "Lists.ListTypes.Includes.ListTypeApiInclude": {
        "type": "integer"
      },
      "Lists.ListTypes.Responses.AvailableColumnApiResponse": {
        "required": [
          "fieldName",
          "displayName",
          "fieldType"
        ],
        "type": "object",
        "properties": {
          "fieldName": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "fieldType": {
            "type": "string"
          }
        }
      },
      "Lists.ListTypes.Responses.AvailableFilterApiResponse": {
        "required": [
          "fieldName",
          "displayName",
          "fieldType",
          "operators"
        ],
        "type": "object",
        "properties": {
          "fieldName": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "fieldType": {
            "type": "string"
          },
          "operators": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Lists.ListTypes.Responses.ListTypeApiResponse": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "Lists.ListTypes.Responses.ListTypeDetailApiResponse": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "availableColumns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lists.ListTypes.Responses.AvailableColumnApiResponse"
            },
            "nullable": true
          },
          "availableFilters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lists.ListTypes.Responses.AvailableFilterApiResponse"
            },
            "nullable": true
          }
        }
      },
      "Lookups.Core.Results.InvalidRequest": {
        "required": [
          "message",
          "errors"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Lookups.Core.Validation.ValidationItem"
            }
          }
        }
      },
      "Lookups.Core.Validation.ValidationItem": {
        "required": [
          "message",
          "field"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "field": {
            "type": "string"
          }
        }
      },
      "Lookups.Lookups.Includes.LookupApiInclude": {
        "type": "integer"
      },
      "Lookups.Lookups.Responses.LookupApiResponse": {
        "type": "object",
        "properties": {
          "lookupId": {
            "type": "string",
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "lookupTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "lookupDescription": {
            "type": "string",
            "nullable": true
          },
          "lookupTypeDescription": {
            "type": "string",
            "nullable": true
          },
          "additionalInfo": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Lookups.Lookups.Sorts.LookupApiSort": {
        "type": "integer"
      },
      "Lookups.LookupTypes.Responses.LookupTypeApiResponse": {
        "type": "object",
        "properties": {
          "lookupTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "isSystem": {
            "type": "boolean",
            "nullable": true
          },
          "lookupType": {
            "type": "string",
            "nullable": true
          },
          "lookupTypeDescription": {
            "type": "string",
            "nullable": true
          },
          "storeDescription": {
            "type": "boolean",
            "nullable": true
          },
          "allowBlank": {
            "type": "boolean",
            "nullable": true
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateChanged": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Lookups.LookupTypes.Sorts.LookupTypeApiSort": {
        "type": "integer"
      },
      "Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "format": "int32"
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Object": { },
      "OperationOfConstituent.Constituents.Requests.PatchConstituentRequest": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Object"
          },
          "operationType": {
            "$ref": "#/components/schemas/JsonPatch.Operations.OperationType"
          },
          "path": {
            "type": "string",
            "nullable": true
          },
          "op": {
            "type": "string",
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Serialization.IContractResolver": {
        "type": "object"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "JWT Authorization header using the Bearer scheme (Example: 'Bearer 12345abcdef')",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "InstanceId": {
        "type": "apiKey",
        "description": "Header required for the JWT authentication",
        "name": "X-InstanceId",
        "in": "header"
      },
      "Basic": {
        "type": "http",
        "description": "Basic authentication for system integrations",
        "scheme": "basic"
      },
      "ApiKey": {
        "type": "apiKey",
        "description": "API key required for the Basic authentication",
        "name": "X-API-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ],
      "InstanceId": [ ],
      "Basic": [ ],
      "ApiKey": [ ]
    }
  ],
  "tags": [
    {
      "name": "Constituents - Contact Details"
    },
    {
      "name": "Constituents"
    },
    {
      "name": "Lists - Types"
    },
    {
      "name": "Lists - Runs"
    },
    {
      "name": "Lists"
    },
    {
      "name": "Lookup Types"
    },
    {
      "name": "Lookups"
    }
  ]
}